【Laravel・PHP】<?php ?><? ?><?= ?>とは何か?実例で解説|大なり 小なり < >の中の2つのはてな(クエスチョン)とイコールの意味

laravel-prograshi(プロぐらし) Laravel
記事内に広告が含まれていることがあります。

LaravelのブレードやPHPのコード中で、以下のようなはてなマークを両端に持つタグが使われていることがあります。

<?php ?>, <? ?>, <?= ?>

ここでは、これらのタグの意味についてまとめています。


<?php ?>, <? ?>, <?= ?>とは何か?

<?php ?>, <? ?>, <?= ?>はそれぞれhtmlファイルの中でPHPを記述するためのタグです。(LaravelではなくPHPの表記です)

<?php ?>, <? ?>

<?php ?>, <? ?>はそれぞれ同じ処理をするもので、タグの中に記述したPHP処理を実行します。

echoではないので、処理を実行するのみで表示はしません。

なお、<? ?>はXMLの記述と被るため、基本的には非推奨です。


<?= ?>

<?= ?>は、タグの中に記述したPHPの処理結果を画面上に出力します。<?php echo ?>と同じです。


まとめ

一覧でまとめると以下のようになります。

コード概要省略しない記述
<?php ?>PHPを記述する
<? ?>XMLの記述と被るため基本的に使わない<?php ?>
<?= ?>記述したPHPを文字列として出力 (echo)する<?php echo ?>



Laravelの表記との比較

LaravelはPHPの表記も使えますが、Laravel専用の表記もあります。

PHP処理の行う場合

PHP処理のみ行う場合、Laravelでは以下のように記述できます。

@php 処理 @endphp

 ↑↓同じ

<?php 処理 ?>

 ↑↓同じ

<? 処理 ?>

PHP処理の実行結果を出力する場合

PHP処理の実行結果を出力する場合、Laravelでは以下のように記述できます。

@php echo 処理 @endphp

 ↑↓同じ

<?= 処理 ?>

 ↑↓同じ

<?echo 処理 ?>

<?= ?>の使い方実例

<?php echo ?>の省略形。echoの後ろに変数を記述すると、その中身は出力されます。

実例1:変数を出力する

変数$variableを文字列として表示する場合は以下のようになります。

<?= $variable ?>


実例2:cssをstyleタグの中に直接記述する

cssをlinkタグではなく、styleタグの中に直接記述することで、レンダリングブロックを回避しページの読み込み速度を上げる記述は以下のようになります。

<style type="text/css">
  <?= file_get_contents(public_path('css/app.css')); ?>
</style>

file_get_contents(ファイルパス or URL)
指定したファイルやURLの内容を丸ごととってくる。PHPの関数。

public_path(public配下のファイルパス)
public_path()はpublicディレクトリの完全なパスを返す。引数に配下のパスを入れると、publicディレクトリのパスに引数を追加した値を返す。Laravelのヘルパ。

タイトルとURLをコピーしました