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 にファイルが保存されているか確認してみましょう。

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

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

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

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

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 でフラッシュメッセージを使うには? Read More »

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コンポーネント のルートを追加します ブラウザで確認します。イベントは画面で確認できます。

Livewire のwireイベントについて Read More »

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か所を修正ですね。

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

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

Laravel と Livewire をインストールして、ファイルアップロードのサンプルプログラムを作成する手順。 プロジェクト名(upload)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 次のコマンドを実行して、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コンポーネント のルートを追加します public/storage で参照できるように、storage/app/public にリンクをはります。 ブラウザで確認します。

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

Livewire を使うには?パート2

完成系は↓これです。 Laravel と Livewire をインストールして、カウンターのサンプルプログラムを作成してみます。 プロジェクト名(counter)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 次のコマンドを実行して、counterコンポーネント を生成します。 次の 2つ のファイルが生成されます。 ※因みに、render メソッド を定義しなくても livewire.counter は呼び出されます。 生成された counterコンポーネント のクラスとビューを次のように置き換えます。 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コンポーネント のルートを追加します ブラウザで確認します。 ブラウザでページをリロードすると、レンダリングされた counterコンポーネントが表示されます。「+」ボタンをクリックすると、ページをリロードせずにページが自動的に更新されます。マジック!

Livewire を使うには?パート2 Read More »

Livewireコンポーネントでイベントを発火するには?

「Livewire では、次のように JavaScript でイベント リスナーを登録できます。」 「この機能は実際には信じられないほど強力です。たとえば、Livewire が特定のアクションを実行したときにアプリ内でトースター (ポップアップ) を表示するリスナーを登録できます。これは、Livewire を使用して PHP と JavaScript の間のギャップを埋める多くの方法の 1 つです。」ということで、これは凄い機能だと思います。 更新ボタンが押されて、onModifyメソッド で何か処理を行い、ブレード側 にイベントを発火する例。 Livewireコンポーネント のメソッドで「$this->emit()」でイベントを発火します。 ブレード側の Livewire.onメソッド で modifiedイベント を受け取り、受信したメッセージをダイアログに表示します。

Livewireコンポーネントでイベントを発火するには? Read More »

Scroll to Top