Laravel

Laravel キャッシュファイルを削除するには?

アプリケーションのキャッシュを削除する。 更新対象:storage/framework/cache/data/ コンフィグのキャッシュを削除する。 更新対象:bootstrap/cache/config.php ルーティングのキャッシュを削除する。 更新対象:bootstrap/cache/routes.php ビューのキャッシュを削除する。 更新対象:storage/framework/views/ ブレードのディレクティブの更新も↑こちらを使います。 サービスプロバイダのキャッシュを削除する。 更新対象:bootstrap/cache/services.php パッケージのキャッシュを削除する。 更新対象:bootstrap/cache/packages.php

Livewire コンポーネントの作成について

Livewire v1 のブレードでの書き方。 Livewire v2 のブレードでの書き方。↓ここまでが通常の書き方です。 view を使ってライブワイヤータグから動的に生成する方法。この後、エレメントをDOMに追加して livewire.rescan() を実行する必要があります。 こちらについては、LiveRelation に mountLivewireTagメソッド を追加しました。 ↑上は view を使いコンポーネントを作成しましたが、↓下は mountメソッド で HTML を生成することができました。 こちらについては、LiveRelation に mountComponentメソッド を追加しました。 ↓こちらが最後。LifecyleManager を使ってコンポーネントを作成する方法。これがやりたかったです。 LiveRelation に createComponentメソッド と renderComponentメソッド を追加しました。createComponent を使えば、mount後のインスタンスを取得できるので、コンポーネントのプロパティを設定したり、何かメソッドを呼び出してからレンダリングさせることができます。

Livewire Tapについて

tap関数の書き方は↓下のようになります。第2パラメータの「クロージャ」のパラメーターに、「クロージャに渡す引数」が渡されます。それで戻り値に「クロージャに渡す引数」が返されます。 もう少し具体的に書くと↓下のようになります。 ソースをみたら↓下のようになっていました。たったこれだけです。 「クロージャに渡す引数」にクラスのインスタンスを渡すと、そのクラスのメソッドを呼びまくることができるというわけです。 次に、LifecycleManager.php の fromInitialRequestメソッド で使われている tap についてみてみます。new static で LifecycleManager 自身のインスタンスを tap の 第1パラメーターに設定して、クロージャを呼び出しています。$this ではないので、きっとコンポーネント毎に LifecyleManager の request、instance、response のプロパティが必要なのかな思いました。 これで LivewireManager のメソッドを呼び出しているんですね。

Livewire コンポーネントID を取得するには?

コンポーネントのコントローラー、ビュー(BLADE)でコンポーネントIDを取得する方法 コンポーネントのビュー(BLADE)でコンポーネントIDを取得する方法。 JavaScript で コンポーネントID を取得する方法。 Livewire.all で コンポーネントID を取得する方法。 ↓下の方法で コンポーネントID を取得することはできません。

Livewire Livewire.rescan について rescan

Laravel と Livewire をインストールして、親と子のコンポーネントで複数のプロパティをバインディングして同期されるかを確認 インストール時にプロジェクト名のディレクトリが作成されます。 ↓下のメッセージが表示されてインストールは終わります。 Laravel のインストールはここまで。 ↑mountLivewireTagメソッド内で、render_blade関数 でライブワイヤーコンポーネントを HTML に変換して、createComponentイベントを送ります。 ① createボタン を押して ParentComponentクラス の createメソッド が呼び出します。② mountLivewireTagメソッド内で、render_blade関数 でライブワイヤーコンポーネントを HTML に変換して、createComponentイベントを送ります。③ JavaScript の createComponentハンドラ でエレメントを作成して、Livewire.rescan で認識させます。

Livewire 親子のコンポーネントで複数のプロパティを更新するには?oyako5

Laravel と Livewire をインストールして、親と子のコンポーネントで複数のプロパティをバインディングして同期されるかを確認 プロジェクト名(oyako5)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 Livewire のクラスとビューを作成するため、ディレクトリを作成します。 LiveRelationトレイト を作成します。 ライブワイヤーの親コンポーネントを作成します。app/Http/Livewire/ParentComponent.php ライブワイヤーの親コンポーネントのビューを作成します。resources/views/livewire/parent-component.blade.php ↑のポイントは5行目の「bind=”counter1,counter2″」です。ここで 親コンポーネントの counter1とcounter2のプロパティを子コンポーネントのプロパティ を紐づけています。 ライブワイヤーの子コンポーネントを作成します。app/Http/Livewire/ChildComponent.php ライブワイヤーの子コンポーネントのビューを作成します。resources/views/livewire/child-component.blade.php ↑のポイントは3,4行目でcounter を defer にしています。5行目でリフレッシュさせて同期させています。 public/liveext.js を作成します。 resources/views/index.blade.php を作成します。 routes/web.php にルートを定義します。 ブラウザでアクセスしてみましょう。 COUNTER1 と COUNTER2 に値をいれて、リフレッシュボタンを押すと、バインディングされた親のコンポーネントの COUNTER1 と COUNTER2 が同期されます。

Livewire クラスメソッドから親コンポーネントにだけイベントを送るには?emitParent

完成系は↓こちらです。 Laravel と Livewire をインストールして、emitParent のサンプルプログラムを作成してみます。 プロジェクト名(emitParent)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 次のコマンドを実行して、parent-formコンポーネント を生成します。 次の 2つ のファイルが生成されます。 ※因みに、render メソッド を定義しなくても livewire.parent-form は呼び出されます。 生成された parent-formコンポーネント のクラスとビューを次のように置き換えます。 app/Http/Livewire/ParentForm.php resources/views/livewire/parent-form.blade.php child-formコンポーネント のクラスとビューを作成します。 app/Http/Livewire/ChildForm.php resources/views/livewire/child-form.blade.php grandchild-formコンポーネント のクラスとビューを作成します。 app/Http/Livewire/GrandchildForm.php resources/views/livewire/grandchild-form.blade.php LiveRelationトレイト を作成します。 public/liveext.js を作成します。 resources/views/index.blade.php ファイル を作成します。 routes/web.php にルートを追加します。 ブラウザで確認します。 ↑上が Grandchild …

Livewire クラスメソッドから親コンポーネントにだけイベントを送るには?emitParent Read More »

Livewire Actionsの説明について

「Passing Action Parameters」についてブレード側の説明は「次のように、追加のパラメーターを式で直接 Livewire アクションに渡すことができます。」と、これだけです。。。 上のコードでは、addTodo のパラメーターにプロパティの値を展開して渡していますので、表示時には以下のようになります。 実は、追加パラメーターに JavaScript を書くこともできます。これが言いたかったです。getTodoId() と getTodoName() は JavaScript の関数です。 ↓次 click した時に↓下のようにセミコロンで区切って複数の PHPのメソッド を呼びたくなりますが、それはできません。PHPのメソッドは1つしか実行することができません。 ↓次 「Magic Actions」に「Livewire には、通常 “$” 記号が前に付いている “魔法の” アクションがいくつかあります。」とあります。ここで勘違いしてしまうのが、↓下の「$set」。この $ は PHP でもなければ jQeury でもありません。こういうものなのです。

Scroll to Top