Laravel component 変数 複数 エラー

443 View

環境

Windows10,Laravel9

Laravelでcomponentを作成し、変数を持たせる方法

まず、プロジェクトフォルダ直下まで移動し、

コマンド

php artisan make:component 好きなコンポネント名

でLaravelプロジェクトフォルダに2つのファイルができます。

1つ目は、

app/View/Components

直下にできます。この中身は、クラスのプロパティや、コンストラクタなどを定義します。

下が例です。今回の例では、プロパティ≒変数を5つ定義してます。

2つ目のファイルは

resources/views/components

直下に作成されます。これはviewファイルで今回の例では、下のようになってます。

今回の例では、指定したイメージ画像($object)が、ふわふわと上($up)下($down)にある一定間隔($speed)で動き続けます。そのサイズや装飾などは$classで追加できるというものです。

実際にこのcomponentで利用するときは、下記のように利用したいviewファイルに書きます。

黄色で囲んだところが今回作成したcomponentを利用するにあたって必要なコードです。

初めの赤枠では、必要な変数を示してます。

緑色の枠は、Laravelでcomponentを利用する際の決まった書き方です。

青文字のところは、コンポネントそのものを呼び出してます。

水色のところは変数を渡しています。

ここで起こりやすいエラー

コンポネントに変数を渡すときにエラーになることがあります。

僕が、直面したエラーは、なぜか特定の変数をわたせないというものです。

解決方法

その理由は、変数名が複数英単語によりできたものだからでした。

たとえばですが、$up_limit,$upLimitなどの変数名を、上記の画像すべての$upにおきかえると、エラーになってしまします。

Laravelのcomponentに変数を渡すときは、1つの英単語だとすんなりいける可能性があがります。複数英単語の組み合わせによる変数名でも可能ではありますが、なにかルールがあるようです。(※単一単語にすぐ切り替えたので、深くは調べてません。)

いったん、複合英単語でエラーになっている人は参考に一助になればと思います。

カテゴリー:

返信がありません

コメントを残す