2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHP,Laravelの基礎 ~文法、構文~

Posted at

はじめに

こんにちは、未経験からエンジニア転職を目指しているものです。
オンラインスクールで本格的に学習して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]

最後までご覧いただき本当にありがとうございました!!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?