はじめに
こんにちは、未経験からエンジニア転職を目指しているものです。
オンラインスクールで本格的に学習して6ヶ月目に入りました。PHP,Laravelを学習しポートフォリオを作成中です。ポートフォリオ作成が順調に進むように、PHP,Laravelの疑問点について整理しようと思います。今回は、Laravelの文法に登場する ::, ->, =>, ' ', " " の記号や構文についてまとめてみました。
:: (ダブルコロン)
::は、クラスやスタティックメソッド・定数にアクセスするときに使います。クラス名とそのメソッドや定数をつなぐ役割を持っています。
具体例:
// クラス定数の例
class MathHelper {
const PI = 3.14;
}
// クラス定数を参照する
echo MathHelper::PI; // 出力: 3.14
Laravelの例:
Route::get('/', function () {
return view('welcome');
});
-
Route::get
は、Route
クラスのget
というスタティックメソッドを呼び出しています。 -
::
を使うことで、Route
というクラスから直接get
メソッドにアクセスしています。
> (アロー)
> は、オブジェクトのメソッドやプロパティにアクセスするときに使います。クラスを元に作られたオブジェクト(インスタンス)の中にある関数や変数を操作するための記号です。
具体例:
class Dog {
public $name;
public function bark() {
return "ワンワン!";
}
}
$dog = new Dog();
$dog->name = "ポチ"; // プロパティにアクセス
echo $dog->bark(); // メソッドにアクセス
Laravelの例:
$post = Post::find(1);
echo $post->title;
-
Post::find(1)
は、Post
というモデルからIDが1のデータを探して返す処理です。 - その後、
$post->title
で、見つかった投稿のtitle
プロパティにアクセスしています。
=> (アロー、連想配列のキーと値を対応させる)
=>
は、連想配列で使います。配列のキーと値を対応させるために使います。
具体例:
$user = [
'name' => '太郎',
'age' => 18
];
echo $user['name']; // 出力: 太郎
-
'name' => '太郎'
は、キー'name'
に対して、値'太郎'
が対応していることを示しています。
Laravelの例:
return view('profile', ['user' => $user]);
-
['user' => $user]
では、ビューに渡す変数user
に、コントローラー内の変数$user
を対応させています。
' ' (シングルクォート) と " " (ダブルクォート)
' '
(シングルクォート)と" "
(ダブルクォート)は、文字列を囲むために使いますが、PHPでは少し違いがあります。
-
シングルクォート
' '
: 中に書かれたものがそのまま文字列として扱われます。変数の展開はされません。 -
ダブルクォート
" "
: 中に書かれた変数が展開され、変数の値が使われます。
具体例:
$name = '太郎';
// シングルクォート
echo 'こんにちは、$name'; // 出力: こんにちは、$name
// ダブルクォート
echo "こんにちは、$name"; // 出力: こんにちは、太郎
Laravelの例:
return view('welcome', ['message' => "ようこそ、$name さん"]);
-
"ようこそ、$name さん"
では、ダブルクォートを使っているので、$name
の変数が展開されて表示されます。
{{ }}(Bladeテンプレートで変数を表示)
{{ }}は、BladeテンプレートでPHP変数を表示するための構文です。エスケープ処理が自動で行われ、セキュリティが高まります。
具体例:
// コントローラー
return view('welcome', ['name' => '太郎']);
<!-- welcome.blade.php -->
<p>こんにちは、{{ $name }}さん!</p>
- Bladeテンプレートの
{{ $name }}
部分で、$name
変数の内容がHTMLに表示されます。 -
{{ }}
は自動的にエスケープ処理を行い、セキュリティリスクを軽減してくれます。HTMLタグなどの特殊文字が無効化され、画面にそのまま表示されます。
[] (配列・連想配列の作成)
[]は、PHPで配列や連想配列を作成する記法です。キーと値のセットも作ることができ、=>を使って指定します。
// 数値の配列
$numbers = [1, 2, 3, 4];
// 連想配列(キーと値のセット)
$user = [
'name' => '太郎',
'age' => 18
];
Laravelの例
return view('profile', ['user' => $user, 'title' => 'プロフィール']);
-
[ ]
の中でキーと値を指定して連想配列を作成し、ビューに複数のデータを渡しています。 -
['user' => $user]
で、テンプレートにuser
というキー名で$user
を渡すように設定しています。
まとめ
-
::
: クラスのスタティックメソッドや定数にアクセスする。例:Route::get('/')
-
>
: オブジェクトのメソッドやプロパティにアクセスする。例:$post->title
-
=>
: 連想配列でキーと値を結びつける。例:['name' => '太郎']
-
' '
と" "
: 文字列を囲むための記号。' '
は文字通りの文字列、" "
は変数展開を行う。例:"こんにちは、$name"
-
{{ }}
: Bladeテンプレートで変数を表示する際に使い、エスケープ処理も自動で行われる。例:{{ $name }}
-
[]
: 配列や連想配列を作成するための記号。例:['user' => $user]
最後までご覧いただき本当にありがとうございました!!