CakePHP3のコンポーネントとは?導入から共通処理をまとめる入門編
- CakePHP
CakePHP3のコンポーネントクラスを導入して共通処理をまとめるまでの基礎部分を行います。コンポーネントを併用する事で重複メソッドが無くなり見通しも良くメンテナンスしやすいソースコードになります。開発チームみんなが幸せになれる。それがコンポーネントです。
CakePHP3のコンポーネントクラスを導入して共通処理をまとめるまでの基礎部分を行います。コンポーネントを併用する事で重複メソッドが無くなり見通しも良くメンテナンスしやすいソースコードになります。開発チームみんなが幸せになれる。それがコンポーネントです。
CakePHPのようなPHPフレームワークを使ってWebアプリケーションを構築する際にフロントエンド側でsassやlessなどを使ってCSSを作成していく事は今や当たり前になってきました。webpackなどを手動で導入しても良いのですが、今回は気軽に素早く環境を導入できる「cakephp3-elixir」というパッケージを使ってSassやJavaScriptのコンパイル・ビルド環境を構築したいと思います。
Laravel 5.5 から 5.6 へのアップグレードを行います。2018年2月7日にLaravel5.6がリリースされました。前バージョンの5.5に関してはLTS(Long Term Support)ではありましたが、PHP7.2やSymfony4の登場によって、5.6ではそこそこの変更点があります。
2017年11月30日にPHP7.2がリリースされました。7.2ではMcrypt拡張の削除など、WEBアプリケーション、特にPHPフレームワークのコア部分にも影響のある変更点もあるので、古いまま使っているとあるタイミングでバージョンを上げようとしても色々と大変になってしまいます。なるべくPHPコアソースやフレームワークのバージョンは最新に保っていく事が運用の面でも良いと思います。
フォーム機能を構築する際に、CakePHPでは一般的にモデルが絡むバリデーションはTableクラスで定義したバリデーションルールに則って行いますが、複合的なフォームを構築する際は、そこに該当しないバリデーションが必要になる時があります。今回はModel側(Tableクラス)でのバリデーションとFormクラスのバリデーションを混合させたフォーム機能(入力+検証+登録)を構築します。
CakePHPでWebアプリケーションを構築していると、直接モデルとは関係のない(データベースを絡めない)フォームとバリデーションを用いた機能一式が必要になる時があります。そこで今回は、CakePHP3の「Formクラス」「カスタムバリデーション」を用いて、ファイルのアップロード機能を構築します。