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

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

laravel/frameworkのバージョン5.6.20がリリースされました。更新された機能について確認していきます。 Added 1. メソッドにクラスを渡せるようになりました (@4e29889) 以下の様なレスポンスのカスタマイズか可能になりました。 2. タスクスケジュールに、メソッドが追加されました (#24077, @1bf54d2) 特定の条件でpingするサンプル 3. メソッドがリレーションでもサポートされるようになりました (#24061) <br> 詳しい変更については以下を確認してください。 Release v5.6.20 · laravel/framework · GitHub

続きを読む
[Laravel Forge] AWSのVPCが選択可能になりました
#Laravel Forge

[Laravel Forge] AWSのVPCが選択可能になりました

タイトルの通り、ForgeでAWS上にサーバー作成時に、任意のVPCが選択できるようになりました。 Laravel Forge - Instant PHP Servers 以前は専用のVPCにしか作成できなかったので、 1. Forgeでサーバー作成 2. AWS上でスナップショット作成して別のVPCで起動 3. 新しく起動したインスタンスをForgeと接続して、古いインスタンス削除 といった作業をしていましたが不要になりました。 laravel-forge-select-vpc01 <br /> Forgeの使い方についても今後触れていこうと思います。 現在3ヶ月間50%offになるキャンペーンを行なっていますので興味のある方はどうぞ。 Laravel Forge 50% off your first 3 months

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

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

laravel/frameworkのバージョン5.6.19がリリースされました。更新された機能について確認していきます。 Added 1. SparkPostのエンドポイントが指定可能になりました (#23910) 2. Optionalクラスにメソッドが追加されました (#24042) 3. メール通知の際にcc、bcc、replyToが複数指定可能になりました (#23760) <br> 詳しい変更については以下を確認してください。 Release v5.6.19 · laravel/framework · GitHub

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

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

laravel/frameworkのバージョン5.6.18がリリースされました。更新された機能について確認していきます。 Added 1. MySQL 8.0に対応しました (#23948) 2. カスタムFileSystemでオリジナルのURLを指定できるようになりました (#23964) 3. PostgreSQLのオペレーターがが追加されました (#23945) 以下のオペレーターが追加されました。 not ilike is distinct from is not distinct from 4. PusherのBroadcastにJSONPコールバックが利用できるようになりました (#24018, @b9ab427) <br> 詳しい変更については以下を確認してください。 Releases · laravel/framework · GitHub

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

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

laravel/frameworkのバージョン5.6.17がリリースされました。更新された機能について確認していきます。 Added 1. クエリビルダーのサブクエリを生成するメソッドが追加されました (#23818) 以下のメソッドでサブクエリを生成できます。 joinSub leftJoinSub rightJoinSub <br> 詳しい変更については以下を確認してください。 Release v5.6.17 · laravel/framework · GitHub

続きを読む
[Laravel] Optionalヘルパーの便利な使い方
#Laravel

[Laravel] Optionalヘルパーの便利な使い方

helperは、Laravelで導入されました。このクラスは、オブジェクトに存在しないプロパティを参照した場合に発生するエラーを回避することができます。 一般的な利用方法は以下のように任意のオブジェクトに対して行います。 ユーザー情報を持つが存在しなかった場合にも、各プロパティへの参照はが返却されます。 また、LaravelではBladeオペレータのが削除される予定です。 PHP7で実装されたオペレータを使って同等のことができますが、を使用することで冗長をなくすことができます。 下記の二つのコードは同じ動作を行います。 そして、Laravelではメソッドの第二引数にクロージャが渡せるようになりました。 これは第一引数のオブジェクトが存在する場合のみ、クロージャが実行されます。 をうまく活用することで、より見やすいコーディングが可能になるでしょう。 <br> Using the Laravel Optional Helper and the New Optional Closure - Laravel News

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

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

laravel/frameworkのバージョン5.6.14がリリースされました。更新された機能について確認していきます。 今回はセキュリティアップデートが含まれているので、アップグレードすることをお勧めします。 Security 1. メソッドでの長さについて評価するようになりました (886d261) <br> 詳しい変更については以下を確認してください。 Release v5.6.15 · laravel/framework · GitHub

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

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

laravel/frameworkのバージョン5.6.14がリリースされました。更新された機能について確認していきます。 Added 1. メソッドが追加されました (#23711) Slack通知のレベルはデフォルトででしたが、これを明示的に指定できるようになりました。 2. メソッドが追加されました (@9c51e49) 使用しているデバイス以外のユーザーセッション情報を無効にすることができます。この機能を利用するためにはミドルウェアを利用している必要があります。 <br> 詳しい変更については以下を確認してください。 Release v5.6.14 · laravel/framework · GitHub

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

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

laravel/frameworkのバージョン5.6.13がリリースされました。更新された機能について確認していきます。 Added 1. コマンドが追加されました (@9fd1273, @2ab8acf) 2. コレクションの、メソッドがショートコードによるアクセスが可能になりました (#23560) 以下のようにエイリアスとして利用できます。 3. Bladeディレクテイブに、が追加されました (#23569) 認証方法によって分岐ができるようになりました。 4. 暗号化のレベルを設定できるようになりました (#23573, @d6e3ca9) 以下のようににてカスタマイズが可能になりました。 5. タグ付けされたキャッシュキーのとが可能になりました (#23578) 6. のテストが追加されました (#23594, @ca39449) 7. コレクションのメソッドがショートコードによるアクセスが可能になりました (#23608) 8. の更新を無効化出来るようになりました (#23667) 、共にを指定することで日付の挿入をスキップ可能になりました。 9. ヘルパーにコールバックが渡せるようになりました (#23688) 10. メソッドが追加されました (#23626) リレーションのレコードについてもが可能になりました。 <br> 詳しい変更については以下を確認してください。 Release v5.6.13 · laravel/framework · GitHub

続きを読む
[Laravel] EloquentモデルでJSON型のカラムを扱う方法
#Laravel

[Laravel] EloquentモデルでJSON型のカラムを扱う方法

MySQL 5.7ではカラム型にJSONを扱えるようになりました。もちろんLaravelのEloquentも対応しており、簡単に読み取りや検索を行うことができます。 実践的なアプリケーションでMySQLのJSON型を扱う方法について検証してみましょう。 テーブルの作成 JSON型を扱うテーブルのと、ファイルを作成します。 今回はというテーブルにユーザー情報を持つカラムがあるとします。 JSON型に対応していないバージョンの場合はTEXT型で作成しましょう。 モデルのプロパティに値を指定することで、データベースから取得した値を指定したフォーマットへ変更することができるようになります。 int (integer) real (float, double) string bool (boolean) object array (json) collection date datetime (customdatetime) timestamp カラムをJSONへキャストするように設定しておきましょう。 Factory (ダミーデータ) の作成 データの登録を簡単にするために、に対してのを作成しておきましょう。 カラムに対して、、、、が登録されるものとします。 を利用してダミーデータを登録できるようにします。 ※ にを追加することで日本語に対応したダミーデータの作成が可能になります。 が作成できたらを使ってダミーデータを登録しておきましょう。 コントローラー&Viewファイルの作成 登録されたArchive情報を取得するためのコントローラーを作成します。 対応するルーティングも追加しておきましょう。 Archive情報の一覧表示に加えて、カラムのJSON情報を検索できるようにしてみましょう。 以下のようなクエリを発行することで、JSON型のカラムに対しての条件検索ができます。 これをのORMで利用するには以下のように記述します。 により、に対してラップ処理が行われ、に置換されてJSON型の検索が可能になります。 テーブルの検索条件に使うパラメーターがの用に送られてくるとして、ここから必要な条件のトリミングを行いをもつコレクションを作成します。 以上をふまえて以下のようなコントローラーを作成します。 へを作成します。 Laravelに同封されているを利用して以下の用に作成します。 へアクセスすると一覧が表示されます。 laravel-eloquent-json01 検索フォームにと入力して検索していみます。 laravel-eloquent-json02 情報のにが入っている情報が出力されました。 (番外編) 検索にヒットした文字列をハイライトする Laravelとは関係ありませんが、検索した文字列をハイライトさせることで、より視覚的に判断することができます。 Javascriptのmark.jsを利用してマーキングを行います。 を読み込んでいる下に以下のコードを追加します。 検索したキーワードがハイライトされます。 laravel-eloquent-json03

続きを読む