Laravel

Laravel で Selenium を使ってみるには?

Laravel をインストールして Selenium を試す手順。 プロジェクト名(selenium)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」だと Ctrl+C でコンテナが止まってしまうので、「sail up -d」でコンテナを起動します。 PHP で Selenium を使うために、php-webdriver をインストールします。 Selenium は コンテナで動作するので、他にインストールするものはありません。 SeleniumTestコマンドを生成します。 生成されたファイルの中身です。app/Console/Commands/SeleniumTest.php SeleniumTestコマンドを以下のように書き換えます。app/Console/Commands/SeleniumTest.php ↑のポイントは「$driver->quit();」だと思います。quitして終わらないと、次回コマンドを実行すると固まってしまいます。 selenium を使って検索してみましょう。

はじめての Laravel

Laravel をインストールする手順。 プロジェクト名(helloworld)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」だと Ctrl+C でコンテナが止まってしまうので、「sail up -d」でコンテナを起動します。 ブラウザでアクセスします。 今回は、Laravel のインストールを行い、ブラウザでアクセスすることができました。 サービスの選択 MySQL ではなく ポストグレス を使用する場合には、withクエリに「with=pgsql」を与えます。 Sail で Laravelアプリケーション を作成する場合、withクエリ を使用して、アプリケーション(docker-compose.yml)を構成するサービスを選択することができます。利用可能なサービスには mysql、pgsql、mariadb、redis、memcached、meilisearch、minio、selenium、mailhog があります。サービスを指定しない場合には、デフォルト スタックの mysql、redis、meilisearch、mailhog、 selenium が設定されます。 https://laravel.com/docs/9.x#choosing-your-sail-services

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

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

Laravel リンクを作成するには?

Laravel でリンクを作成する手順。 config/filesystems.php に「シンボリックリンク」と「リンク先」を定義します。 リンクを作成します。 public/storage から storage/app/public にアクセスできるようになります。

Livewire でS3にファイルアップロードするには?

Laravel と Livewire をインストールして、s3 にファイルアップロードするサンプルプログラムを作成する手順。 プロジェクト名(s3upload)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 league/flysystem-aws-s3-v3 パッケージ をインストールします。 .envファイル を修正します。 次のコマンドを実行して、uploadコンポーネント を生成します。 次の 2つ のファイルが生成されます。 ※因みに、renderメソッド を定義しなくても livewire.upload は呼び出されます。 生成された uploadコンポーネント のクラスとビューを次のように置き換えます。 resources/views/layouts/app.blade.phpファイル を作る為に、layoutディレクトリ を作成します。 「フルページコンポーネントは resources/views/layouts/app.blade.php の {{ $slot }} にレンダーされる」と見かけましたが、ここまでの手順で app.blade.phpファイル はできていませんでしたので作成します。 resources/views/layouts/app.blade.phpファイル を作成します。 routes/web.php に Livewireコンポーネント のルートを追加します ブラウザで確認します。 …

Livewire でS3にファイルアップロードするには? Read More »

Laravel で MinIO にファイルを保存するには?

Laravel をインストールして MinIO にファイルを保存する設定する手順。 プロジェクト名(minio)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 「with=minio」でsail インストール時に MinIO をインストールします。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 minio/.envファイル を修正します。 ※ AWS_URL にはホストの情報を設定します。 「sail up」でコンテナを起動します。 league/flysystem-aws-s3-v3 パッケージ をインストールします。 ブラウザで MinIO にアクセスしてバケットを作成してください。 Username は sail、Password は password です。docker-compose.yml 参照 routes/web.phpファイル を修正します。 ブラウザでアクセスすると、アンサーズのロゴを取得し、ロゴを MinIO に保存します。 ブラウザでアクセスして、次に MinIO にファイルが保存されているか確認してみましょう。

Livewire でページネーションを使うには?pagination

Laravel と Livewire をインストールして、ページネーションのサンプルプログラムを作成する手順。 インストール時にプロジェクト名のディレクトリが作成されます。 ↓下のメッセージが表示されてインストールは終わります。 Laravel のインストールはここまで。 次の 2つ のファイルが生成されます。 ※因みに、render メソッド を定義しなくても livewire.pagination は呼び出されます。 「フルページコンポーネントは resources/views/layouts/app.blade.php の {{ $slot }} にレンダーされる」と見かけましたが、ここまでの手順で app.blade.phpファイル はできていませんでしたので作成します。 ブートストラップに対応する。 ブートストラップのボタンに変わりました。

Livewire でフラッシュメッセージを使うには?

Laravel と Livewire をインストールして、フラッシュメッセージのサンプルプログラムを作成する手順。 プロジェクト名(flash)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 次のコマンドを実行して、flashコンポーネント を生成します。 次の 2つ のファイルが生成されます。 ※因みに、render メソッド を定義しなくても livewire.flashは呼び出されます。 生成された flashコンポーネント のクラスとビューを次のように置き換えます。 「@if (session(‘message’))」と書いても問題ないです。 resources/views/layouts/app.blade.phpファイル を作る為に、layoutディレクトリ を作成します。 「フルページコンポーネントは resources/views/layouts/app.blade.php の {{ $slot }} にレンダーされる」と見かけましたが、ここまでの手順で app.blade.phpファイル はできていませんでしたので作成します。 resources/views/layouts/app.blade.phpファイル を作成します。 web.php に Livewireコンポーネント のルートを追加します ブラウザで確認します。 「flash message」ボタンを押すと、フラッシュメッセージを登録します。リロードボタンを押すと、フラッシュメッセージは消えます。

Livewire のwireイベントについて

Laravel と Livewire をインストールしてフォームのサンプルプログラムを作成する手順。 プロジェクト名(form)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 次のコマンドを実行して、formコンポーネント を生成します。 次の 2つ のファイルが生成されます。 ※因みに、render メソッド を定義しなくても livewire.formは呼び出されます。 生成された formコンポーネント のクラスとビューを次のように置き換えます。 resources/views/layouts/app.blade.phpファイル を作る為に、layoutディレクトリ を作成します。 「フルページコンポーネントは resources/views/layouts/app.blade.php の {{ $slot }} にレンダーされる」と見かけましたが、ここまでの手順で app.blade.phpファイル はできていませんでしたので作成します。 resources/views/layouts/app.blade.phpファイル を作成します。 web.php に Livewireコンポーネント のルートを追加します ブラウザで確認します。イベントは画面で確認できます。

Laravel httpsの場合、会員登録時のメール認証でエラーになる

会員登録時に送信されるメールの URL にアクセスすると、「403 THIS ACTION IS UNAUTHORIZED.」のエラーになってしまう。 app/Http/Middleware/TrustProxies.php の proxies を ‘**’ に変更します。 メールに記載された URL を https にする為に、app/Providers/AppServiceProvider.php の bootメソッド に以下のforceScheme を追加します。 本番環境とステージング環境を https、ローカル環境を http にするなら↓こちらです。 Laravel でリバースプロキシを使うなら、この2か所を修正ですね。

Scroll to Top