PHP

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 »

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

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

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

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 »

ポストグレスの文字コードがEUC-JPでUTF8のPHPからは文字化けしてしまう

クライアントエンコードディングは環境変数の LANG、LC_CTYPE、LC_ALLでも決まります。 環境変数 client_encoding LANG=ja_JP.UTF-8 SQL_ASCII LANG=en_US.utf8 UTF8 LANG=C.UTF-8 UTF8 ↑環境変数に「ja_JP.UTF-8」が設定されている場合、UTF8 にはなりませんでしたので、クライアントエンコーディングを設定する必要があります。

ポストグレスの文字コードがEUC-JPでUTF8のPHPからは文字化けしてしまう Read More »

Laravel ログを出力するには?

ログの基本 Log クラスをインポートする。\Logでもアクセスできます。 Log クラスをインポートしないで、\Logだけでも使えます。 ログに変数の内容を出力するには、第2パラメータに設定する。 ログの出力先は↓こちら。 ログレベルは .env で設定する。例えば info と設定すると、debugレベル のログは出力されなくなる。 ログの種類 debugログ(開発中のログはこれで良いと思う) infoログ noticeログ warningログ errorログ criticalログ alertログ emergencyログ

Laravel ログを出力するには? Read More »

Laravel bladeの使い方を忘れてしまったので思い出すには?

①変数の表示 イメージとしては↓。HTMLエスケープ処理されている。 ②変数の表示2 イメージとしては↓。HTMLエスケープ処理がされていない。 ③PHPスクリプト この間に PHPスクリプト を記述することができる。例えば、ブレード内での変数の定義に使えます。 ④コメント ⑤CSRFフィールド formタグの次に書く。 ⑥@extends、@section、@yield の関係 フレームのテンプレートでは、各画面の @section で定義される title、content を、@yield を使って呼び出します。 各画面のテンプレートでは、@section の title、content に画面毎の内容を記述し、@extends を使ってフレームのテンプレートを呼び出します。 ⑦スタック 各画面のテンプレートで @push でスタックに処理を追加する。 フレームのテンプレートでスタックから処理を取り出します。

Laravel bladeの使い方を忘れてしまったので思い出すには? Read More »

Scroll to Top