もっさん先輩

Avatar

Livewire ライフサイクル フックについて

Hooks Description boot コンポーネントがインスタンス化された直後、他のライフサイクルメソッドが呼ばれる前に、リクエストごとに実行されます。(翻訳)私的にはコンストラクタ。 booted コンポーネントがマウントまたはハイドレートされた後、アップデートメソッドが呼ばれる前に、すべてのリクエストで実行されます。(翻訳)マウントの後とハイドレードの後に呼び出される。 mount コンポーネントのインスタンスが作成された直後、render()がコールされる前に一度だけ実行されます。これは最初のページロード時に一度だけ呼ばれ、たとえコンポーネントが更新されたとしても、再び呼ばれることはありません。(翻訳)私的には initメソッド。 プロパティの初期値を設定する。 dehydrate コンポーネントのレンダーの後に呼び出される。この後にコンポーネントが再描画が行われる。例えば dehydrateフック でプロパティの値を変えると、変えた値でコンポーネントが表示される。私的には create メソッド。 dehydrateFoo ↑上の dehydrateフック の後に呼び出される。defydrateFoo は $foo プロパティが定義されていないと呼び出されない。 hydrate コンポーネントのレンダーの前に呼び出される。 hydrateFoo ↑上の hydrateフック の前に呼び出される。 updating Livewireコンポーネントのデータが更新される前に実行される。(翻訳) updated Livewireコンポーネントのデータが更新された後に実行されます。(翻訳) updatingFoo foo という名前のプロパティが更新される前に実行されます。配列のプロパティは、updatingArray($value, $key)のように、配列内の変更する要素を指定するためにこの関数に渡される追加の$key引数を持ちます。(翻訳) updatedFoo fooというプロパティが更新された後に実行されます。配列のプロパティは、上記のように追加の $key 引数を持ちます。(翻訳) updatingFooBar foo プロパティまたは $fooBar や $foo_bar などのマルチワード プロパティのネストされたプロパティ バーを更新する前に実行されます。(翻訳) updatedFooBar fooプロパティ、または$fooBarや$foo_barなどのマルチワード・プロパティにネストされたプロパティ・バーを更新した後に実行されます。(翻訳) 親コンポーネント 子コンポーネント 画面を表示した時のログ […]

Livewire ライフサイクル フックについて Read More »

Livewire 親子のコンポーネントについて、親のプロパティを更新するには?oyako2

完成は↓こちらです。 Laravel と Livewire をインストールして、ライブワイヤーの親子のコンポーネントを作成してみます。 プロジェクト名(oyako2)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージをインストールします。 Livewire のクラスとビューを作成するため、ディレクトリを作成します。 ライブワイヤーの親コンポーネントを作成します。app/Http/Livewire/ParentComponent.php イベントをキャッチするには「protected $listeners」に定義します。 ライブワイヤーの子コンポーネントを作成します。app/Http/Livewire/ChildComponent.php 親にイベントを送るには「emit()->up()」を使います。 ライブワイヤーをテストするビューを作成します。resources/views/livewire.blade.php routes/web.php にルートを定義します。 これでブラウザでアクセスできるようになりました。 ブラウザでアクセスしてみましょう。 キーボードから子コンポーネントのテキストボックスに何か入力すると、隣と下の文字(「親から値を設定1」)が変わります。子コンポーネントからイベントを発行して、親コンポーネントのプロパティを変更することができました。 今回、子コンポーネントの dehydrateフック でイベントを発行しました。当初は updatedフック でイベントを発行していました。テキストボックスに入力した場合には、updatedフック が呼び出されますが、クリアボタンを押してプロパティを書き換えた場合には、updatedフック は呼び出されません。dehydrateフック でイベントを発行しない場合は、updateフック と clickメソッド でイベント発行しなくてはなりません。

Livewire 親子のコンポーネントについて、親のプロパティを更新するには?oyako2 Read More »

PostgreSQL postgisを有効にするには?

PostgreSQLコンテナ で postgis を有効にしようとしたところ、エラーになってしまった。postgis を有効にするにはどうしたらよいだろうか? PostgreSQLコンテナ にソースからインストールしようと思いましたが、Postgis が有効になっている↓のドッカーイメージを使うのが良いかなと思いました。 postgis の使い方 カラムの定義には geography型 を使います。 geography型 には GISTインデックス を使用する。 緯度経度から geography型 に変換する方法 ↑x と y ではなく1つの値になります。 ある地点から近い順に取得する方法。 ?には geography の値を文字列で与えられました。 2点間の距離を調べるには「<->」を使います。近い順に取得したときもこの記号でしたね。単位はメートルです。

PostgreSQL postgisを有効にするには? Read More »

Laravel マイグレーションを実行するには?

マイグレーションを実行するには↓以下のコマンドを実行します。データベースにテーブルが存在しない場合には、差分のみ作成されます。 特定のテーブルのみ更新するには↓以下のようにします。 テーブルを作成するのはこちら テーブルを作成&モデルの作成はこちら テーブルを削除するにはこちら 全テーブルを削除してテーブルを用意するのはこちら マイグレーションで定義できるカラムの型 マイグレーションで定義できるカラムの型についてまとめました。 プライマリーキーを設定する。 プライマリーキーを設定する。 integer型 で定義する。 bigInteger型 で定義する。 float型 で定義する。 double型 で定義する。 char型 で定義する。 string型 で定義する。 text型 で定義する。 longtext型 で定義する。 boolean型 で定義する。 date型 で定義する。 datetime型 で定義する。 timestamps を定義する。 created_at、updated_dt のカラムが追加されます。 softDeletes を定義する。 deleted_at のカラムが追加されます。 ポストグレスでは、カラム名は↓のように対応していました。 ↑で使ったマイグレーションのファイルです。 NULL を許容するには カラム に nullable を追加します。 ↓のようになります。

Laravel マイグレーションを実行するには? Read More »

Livewire 親子のコンポーネントについて oyako1

完成は↓こちらです。 Laravel と Livewire をインストールして、ライブワイヤーの親子のコンポーネントを作成してみます。 プロジェクト名(oyako1)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージをインストールします。 Livewire のクラスとビューを作成するため、ディレクトリを作成します。 ライブワイヤーの親コンポーネントを作成します。app/Http/Livewire/ParentComponent.php ライブワイヤーの子コンポーネントを作成します。app/Http/Livewire/ChildComponent.php ライブワイヤーをテストするビューを作成します。resources/views/livewire.blade.php routes/web.php にルートを定義します。 これでブラウザから /livewire でアクセスできるようになりました。 ブラウザでアクセスしてみましょう。 キーボードからテキストボックスに何か入力すると、隣の文字(「親から値を設定」)が変わります。子コンポーネントが正しく動作しています。 次に、親コンポーネントで子コンポーネントの値を受け取るにはどうしたらいいのでしょうか?続く・・・

Livewire 親子のコンポーネントについて oyako1 Read More »

Laravel ライブワイヤーのメモ

①ライブワイヤーコンポーネントでは IDプロパティ は定義できない。 ②ライブワイヤーコンポーネントで renderメソッド を定義しない場合は、以下のファイルが使われる。 ③ライブワイヤーコンポーネントには、ブレードコンポーネントにはあった {{attributes}} が無い。 ④ライブワイヤーのアクションを実行する前に、JavaScript で確認を入れる書き方。 ⑤ライブワイヤーコンポーネントを動的に作成する場合は、wire:key を設定する。 ⑥ライブワイヤーコンポーネントの表示の仕方。 ↓はPHP7 以降の書き方なので、こちらの方が新しい。 ↓は過去の書き方。 ⑦ライブワイヤーコンポーネントのプロパティを設定する。 ⑧JavaScript でライブワイヤーコンポーネントのプロパティを設定する。 ⑨JavaScript でフォームの値を変更した場合にライブワイヤーコンポーネントのプロパティを更新するには、フォームで inputイベント を発生させる。 ⑩ライブワイヤーコンポーネントは formタグ で囲む必要はない。 ⑪JavaScript からはコンポーネントを find することはできるが、Componentクラス からは find することはできない。 ⑫JavaScript からは任意のコンポーネントのメソッドを呼び出すことはできるが、Componentクラス からは find できないので、任意のコンポーネントのメソッドを呼び出すことはできない。全体に向けて、イベントを送ること(emit)はできる。

Laravel ライブワイヤーのメモ Read More »

Scroll to Top