Xzxzyzyz.com
[Laravel Nova] Laravel Novaがリリースされました
#Laravel Nova

[Laravel Nova] Laravel Novaがリリースされました

Laracon 2018にて、Laravel Teamによる新しいサービスである Laravel Nova が発表されました。 Laravel NovaはLaravel Teamによる Laravelのためのデザインの高い管理システム と発表されました。 beautifully designed administration panel for Laravel <br> Laravel Novaはのパッケージとして配布され、すでに作成済みのLaravelプロジェクトにもインストールが可能です。 また、容易に拡張が行えるように準備されており、簡単な設定を行うだけでこれらのリソースを即座に利用できます。 フロントエンドには、Vue.jsやVue Router、およびTailwindを使用したSPAとして構築されています。優れたデザイン性に加え、高度なカスタマイズも可能です。 laravel-nova-introduction01 発表の様子は Laracon 2018 - Taylor Otwell - Keynote にてご覧になれます。 <br> 気になる価格ですが、SOLO版が 、PRO版がと発表されています。 2018年8月にリリース予定とのことですが、Laravel Novaで事前登録することでアーリーアクセスが可能とのこと。

続きを読む
[Laravel] メールの送信ログをデータベースに保存する方法
#Laravel

[Laravel] メールの送信ログをデータベースに保存する方法

Laravelのメールシステムを利用する際に、送信履歴をデータベースへログとして保存しておく方法を紹介します。 メールの送信処理に関わるクラスといえばクラスやクラスですが、共通して送信処理が行われた際に発火されるイベントをフックすることで送信済みのメールオブジェクトのハンドリングが可能です。 今回は公開されているパッケージを使ってみます。 shvetsgroup/laravel-email-database-logパッケージ Composerを使ってshvetsgroup/laravel-email-database-logをインストールします。 Laravelの以上を使っている場合はPackage Auto Discoveryでサービスプロバイダが読み込まれます。 それ以外の場合は下記をへ追加しましょう。 migrationを実行すると、パッケージに同封されているテーブルが作成されます。 メールを送信する通知クラスも作成しておきましょう。 作成したクラスを利用してメールを送信してみます。 今回はを使用してコマンドラインからユーザーを作成し、メールの送信を行います。 テーブルに送信ログが保存されていることを確認しましょう。

続きを読む
[Laravel] Eloquentモデルのイベントをフックする4つの方法
#Laravel

[Laravel] Eloquentモデルのイベントをフックする4つの方法

Laravelでデータベースの追加や変更を行う際に、オリジナルの処理を行いたい場合についてサンプルを踏まえて説明します。 モデルでは様々な処理を行う際に、各種のイベントを発火しようとするので、このイベントをフックすることによってオリジナルの処理を追加することができます。 Laravel公式ページには2つの方法が解説されていますが、これに加えて2つの計4つの方法を解説します。 イベントの種類 イベントを使用すると、特定のモデルクラスがデータベースに保存または更新されるたびに、簡単にオリジナルの処理を実行できます。 目的に沿ったイベントをフックしましょう。 retrieved creating created updating updated saving saved deleting deleted restoring restored 1. dispachesEcentプロパティを使用したイベントのフック モデルのプロパティに必要なイベントと処理するクラスを定義することで各イベントをフックできます。 イベントクラスの引数に対象のモデルクラス(上記サンプルの場合クラス)が渡されるので、リスナー等で処理を行う事ができます。 Laravelのイベントクラスについてはこちら。 2. オブザーバーを使用したイベントのフック モデルのイベント処理をまとめて記述したい場合に便利です。 また、はサービスプロバイダでの登録が可能なので、環境の違いによる振る舞いの差を簡単に吸収することが可能です。 各イベントに対応したメソッドが呼ばれます。 すべてのメソッドの引数には対象のモデルクラスが渡されます。 作成したオブザーバーをサービスプロバイダへ登録することで、全てのイベントがフックできます。 3. bootメソッドをoverwriteしたイベントのフック モデルでは、自身の初期化時にメソッドが呼ばれます。 このメソッド内で各イベントが発火された際の処理を記述します。 以前は現在公式で解説されている2つの方法はありませんでしたので、この方法でイベントのフックを行っていました。 今回紹介する4つの中では一番シンプルですが、クラスの継承を多様する場合には注意が必要です。 4. Traitを使用したイベントのフック 個人的にはこの方法をよく使っています。 で説明したメソッドですが、内部では以下の様な処理が行われています。 メソッドに注目すると、自身に使われているの一覧を取得する処理が伺えます。 簡単に説明すると、使用しているTraitの中に、「boot + 」というメソッドが存在する場合に実行されます。 例えば以下の様なを作成して、モデルですることで削除時にログを出力することができます。

続きを読む
[Laravel] 5.6.27がリリースされました
#Laravel

[Laravel] 5.6.27がリリースされました

laravel/frameworkのバージョン5.6.27がリリースされました。更新された機能について確認していきます。 Added 1. phpredisによるRedisへの接続オプションが追加されました (#24678) 2. Artisanの、コマンドにオプションが追加されました (#24683) 3. にメソッドが追加されました (#24621) メソッドをoverwriteすることで、やメソッドのようなオリジナルの処理を追加できます。 <br> 詳しい変更については以下を確認してください。 Release v5.6.27 · laravel/framework · GitHub

続きを読む
[Laravel] 5.6.26がリリースされました
#Laravel

[Laravel] 5.6.26がリリースされました

laravel/frameworkのバージョン5.6.26がリリースされました。更新された機能について確認していきます。 Added 1. Azure SQL Serverとのコネクションが切れた場合の挙動が改善されました (#24566) 2. Notificationクラスでメールを送信する際に、受信者の名前を含めることが可能になりました (#24606) モデルのリレーションから不必要な情報を削除できます。 3. Post-Migrationのメソッドのコールバックの引数にテーブル名が渡されるようになりました (#24621) マイグレーション実行時にhookできます。 4. メソッドに配列、Collectionを渡せるようになりました (#24620) 配列、Collectinを利用した認証例 <br> 詳しい変更については以下を確認してください。 Release v5.6.26 · laravel/framework · GitHub

続きを読む
[Laravel] 5.6.25がリリースされました
#Laravel

[Laravel] 5.6.25がリリースされました

laravel/frameworkのバージョン5.6.25がリリースされました。更新された機能について確認していきます。 Added 1. SQL Serverにメソッドが追加されました (#24448) 2. Eloquentモデルにメソッドが追加されました (#24486) モデルのリレーションから不必要な情報を削除できます。 3. メソッドが追加されました (#24518) 4. TestResponseクラスにメソッドが追加されました (#24536) <br> 詳しい変更については以下を確認してください。 Release v5.6.25 · laravel/framework · GitHub

続きを読む
[Laravel] 5.6.24がリリースされました
#Laravel

[Laravel] 5.6.24がリリースされました

laravel/frameworkのバージョン5.6.24がリリースされました。更新された機能について確認していきます。 Added 1. メソッドが追加されました (#24308) 2. データベースのSRSが指定可能になりました (#24320) 3. 、メソッドが追加されました (#24367) 4. 全ての通知イベントで、トレイトが利用されるようになりました (#24368) Illuminate\Notifications\Events\NotificationFailed Illuminate\Notifications\Events\NotificationSending Illuminate\Notifications\Events\NotificationSent 5. ルーティングの指定が配列で可能になりました (#24385) 6. SQLサーバーでJsonでのSelectが可能になりました (#24397) <br> 詳しい変更については以下を確認してください。 Release v5.6.24 · laravel/framework · GitHub

続きを読む
[Laravel] 5.6.23がリリースされました
#Laravel

[Laravel] 5.6.23がリリースされました

laravel/frameworkのバージョン5.6.23がリリースされました。更新された機能について確認していきます。 Added 1. Migration時にテーブルのindexのリネームが可能になりました (#24147) MySQL, Postgres, MS SQLについてサポートされました。 2. 特定のイベントを偽装して発火させるメソッドが追加されました (#24230) 3. Bladeエンジンにディレクテイブが追加されました (#24137) クラスのメソッドを呼ぶディレクティブです。複数の権限を評価できます。 4. メソッドが追加されました (#24267) <br> 詳しい変更については以下を確認してください。 Release v5.6.23 · laravel/framework · GitHub

続きを読む
[Laravel] 5.6.22がリリースされました
#Laravel

[Laravel] 5.6.22がリリースされました

laravel/frameworkのバージョン5.6.22がリリースされました。更新された機能について確認していきます。 Added 1. メソッドが追加されました (#24166, #24215) ネストしたリレーションの取得や、コールバックに対応しました。 <br> 詳しい変更については以下を確認してください。 Release v5.6.22 · laravel/framework · GitHub

続きを読む
[Laravel] 5.6.21がリリースされました
#Laravel

[Laravel] 5.6.21がリリースされました

laravel/frameworkのバージョン5.6.21がリリースされました。更新された機能について確認していきます。 Added 1. メソッドが追加されました (#24057, @cbfb4fb) アプリケーション内ではFileSystemのDisk設定はキャッシュされるため、再設定が必要な場合に使用します。 2. artisanのコマンドにパラメーターが追加されました (#24003) メンテナンスモードにする際に許可するIPを指定可能になりました。 3. validationのルールに, , , が追加されました (#24091, #24135) 4. メソッドが追加されました (#24119) <br> 詳しい変更については以下を確認してください。 Release v5.6.21 · laravel/framework · GitHub

続きを読む