Laravel

Laravel @for_extract

@for_extract を使うには app/Providers/AppServiceProvider.php に for_extract と endfor_extract を定義するだけです。 ブレードでの使い方は↓これだけです。$article の title にアクセスできます。 @foreach を参考にしていますので、loop変数 も使えます。 ローカル変数にプレフィックスを付ける場合は、第2パラメータに設定します。 因みに、@for_extract の前に考えていたのは @extract ディレクティブ です。「@foreach の次にどうせ @extract をきめるなら、一緒にしてしまってもいいかなぁ」と思ったわけですね。

Laravel @for_extract Read More »

Laravel イベント非同期にチャレンジしてみる。

Laravel をインストールしてイベントを試す手順。 プロジェクト名(event)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 app/Providers/EventServiceProvider.php にイベントを定義します。 ↓下の OrderShippedクラス、SendShipmentNotificationクラス というのは未だ存在しないファイルです。これからコマンドでクラスファイルを生成する為に、EventServiceProvider.php ファイルに定義する感じです。 artisanコマンド で↑上の EventServiceProvider.phpファイル からイベントクラスとリスナークラスファイルを生成します。 app/Events/OrderShipped.php、app/Listeners/SendShipmentNotification1.php、app/Listeners/SendShipmentNotification2.php のファイルが生成されます。 app/Events/OrderShipped.php app/Listeners/SendShipmentNotification1.php app/Listeners/SendShipmentNotification2.php イベントを発火する welcomページ 呼び出し時にイベントを発火するように routes/web.php を修正します。 ブラウザで画面を表示してログを確認します。↓下のようにイベントは同期で呼び出されました。 イベントを非同に期対応させます .env ファイルを QUEUE_CONNECTION を sync から database に変更します。 キューテーブルを作成します。 app/Listeners/SendShipmentNotification2.php に「ShouldQueue」を implements で非同期対応します。 storage/logs/laravel.log を確認すると非同期にした SendShipmentNotification2.php が呼び出されません。 以下のコマンドを実行するとキューにたまったイベントが処理されます。

Laravel イベント非同期にチャレンジしてみる。 Read More »

Laravel にログイン機能を付けるには?

↓下のようなログイン画面を直ぐに用意することができます。 Laravel をインストールしてログイン機能を付ける手順。 プロジェクト名(login)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 laravel-breezeパッケージ を取得します。※sailコマンド でやるところがポイントですね。 laravel-breezeパッケージ をインストールします。 laravel-breezeのマイグレーションを実行します。 ブラウザで Laravel にアクセスします。 画面の右上に「Log in」「Register」のリンクが追加されています。 ユーザーの登録ができるようになりましたが、メール認証を行ってユーザーの登録をさせたいと思います。 メール認証でユーザー登録する メール認証を行うには、app/Models/User.phpファイル を2か所修正する必要があります。 メールを送信するので、設定ファイルを修正します。Gmail でメールを送るのは以下のように設定します。 日本語化のリソースを定義します。 ユーザー情報を入力すると、以下の画面になります。

Laravel にログイン機能を付けるには? Read More »

Laravel 本番環境とテスト環境を切り替えるには?

本番環境にするには .env の APP_ENV を productionに変更する。 ステージング環境(本番と同じようなテスト環境)にするには .env の APP_ENV を staging に変更する。 開発環境にするには .env の APP_ENV を local に変更する。 BLADE側 での確認方法 本番環境で実行されているか確認する。 ステージング環境で実行されているか確認する。@stating ではありません。 本番環境または、ステージング環境のどちらかで実行されているか確認するには↓こちらです。 ローカル環境で実行されているか確認する。@local ではありません。 コントローラー側での確認方法 ステージング環境で実行されているか確認する。 ステージング環境で実行されているか確認する。 ローカル環境で実行されているか確認する。

Laravel 本番環境とテスト環境を切り替えるには? Read More »

Laravel Bladeのディレクティブを定義するには?

Blade のディレクティブを定義する手順 過去に @phpディレクティブ で変数に0を入れていた処理がありましたので、今回 @setディレクティブ を作成してみました。 本来なら↓のように書きます。@php には @endphp が必要で、少し重い感じがします。 Bladeディレクティブ を更新したら、毎回↑上のコマンドを実行する必要があります。 @set、@unset、@exists の使用例です。 @div,@div_close,@divend の使用例です。 @config,@url の使用例です。

Laravel Bladeのディレクティブを定義するには? Read More »

Livewire HTML 内の JavaScript から Livewireコンポーネント にイベントを送るには?liveevent2

完成は↓こちらです。 Laravel と Livewire をインストールして、JavaScript で イベントを送信して、ライブワイヤーコンポーネントでイベントを受信してみましょう。 プロジェクト名(liveevent2)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージをインストールします。 Livewire のクラスとビューを作成するため、ディレクトリを作成します。 ライブワイヤーのテキストコンポーネントを作成します。app/Http/Livewire/TextComponent.php ライブワイヤーをテストするビューを作成します。resources/views/liveevent-js.blade.php routes/web.php にルートを定義します。 ブラウザでアクセスしてみましょう。 「JavaScript からイベント送信」ボタンを押すと、JavaScript の Livewire.emit で messageイベント を送信し、ライブワイヤー のテキストコンポーネントで messageイベント を受信します。※単純に、ボタンを押してテキストボックスに値を入れているわけではありません。

Livewire HTML 内の JavaScript から Livewireコンポーネント にイベントを送るには?liveevent2 Read More »

Livewire アクションメソッドからHTMLにイベントを送るには?liveevent1

完成は↓こちらです。 Laravel と Livewire をインストールして、ライブワイヤーコンポーネントのアクションメソッドから、イベントを送信して HTMLでイベントを受信してみましょう。 プロジェクト名(liveevent1)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージをインストールします。 Livewire のクラスとビューを作成するため、ディレクトリを作成します。 ライブワイヤーのイベントコンポーネントを作成します。app/Http/Livewire/EventComponent.php ↓wire:click に $emit を書いてイベントを発生させることもできます。app/Http/Livewire/EventComponent.php ライブワイヤーのテキストコンポーネントを作成します。app/Http/Livewire/TextComponent.php ライブワイヤーをテストするビューを作成します。resources/views/liveevent.blade.php routes/web.php にルートを定義します。 ブラウザでアクセスしてみましょう。 「イベント送信」ボタンを押すと、①wire:click で EventComponent の clickメソッド が呼び出され、その中で messageイベント を発生させます。②HTML の 「Livewire.on」で messageイベント を受信して、「メッセージがキター」のアラートを表示します。③ TextComponent のイベントリスナーでも messageイベント を受信して、画面に値を表示します。

Livewire アクションメソッドからHTMLにイベントを送るには?liveevent1 Read More »

Scroll to Top