CakePHP3のモデルとFormクラスの混合バリデーションでフォーム&登録機能を構築する
- CakePHP
フォーム機能を構築する際に、CakePHPでは一般的にモデルが絡むバリデーションはTableクラスで定義したバリデーションルールに則って行いますが、複合的なフォームを構築する際は、そこに該当しないバリデーションが必要になる時があります。今回はModel側(Tableクラス)でのバリデーションとFormクラスのバリデーションを混合させたフォーム機能(入力+検証+登録)を構築します。
フォーム機能を構築する際に、CakePHPでは一般的にモデルが絡むバリデーションはTableクラスで定義したバリデーションルールに則って行いますが、複合的なフォームを構築する際は、そこに該当しないバリデーションが必要になる時があります。今回はModel側(Tableクラス)でのバリデーションとFormクラスのバリデーションを混合させたフォーム機能(入力+検証+登録)を構築します。
CakePHPでWebアプリケーションを構築していると、直接モデルとは関係のない(データベースを絡めない)フォームとバリデーションを用いた機能一式が必要になる時があります。そこで今回は、CakePHP3の「Formクラス」「カスタムバリデーション」を用いて、ファイルのアップロード機能を構築します。
大抵のPHPフレームワークには、簡単に認証機能(ログインやログアウト)を構築できる仕組みが備わっており、CakePHPにも「認証コンポーネント」という、認証に関する処理を扱うコンポーネントが用意されているので、それを使って素早く認証機能を構築していきます。
LaravelとRedisを使って、DBキャッシュを行います。導入の為の設定や、基本的なコマンド、引数の渡し方などで参考になりそうなものを選んで紹介します。LaravelではRedisファサードを使う事でコマンドを全て自在に扱えるのでとても便利です。
Laravelのキャッシュ操作について今回紹介するCacheファサードでのメソッドはMemcachedやRedisなど、どのキャッシュシステムを採用した場合でも共通して使えるものなので、超入門・基本編として覚えておくとよいです。DBへのリクエストが多かったり、複雑なクエリが多かったりするシステムなどには特に効果が出ます。
今回はNoSQLの中でも人気の高いRedisをインストールします。Redis(=REmote DIctionary Server)とは、NoSQL(=Not only SQL)に分類されるキー・バリュー型のインメモリデータベースです。メモリ上のみで動作するので非常に高速であり、永続化(スナップショット/AOF (=append-only file) )が可能です。