CakePHPとは?詳しく解説させていただきます
CakePHPの概要について
CakePHPはPHPのフレームワークとして最も有名な一つとして有名ですが、PHPの歴史を簡単に振り返りつつCakePHPについても紹介させていただきます。
PHPはラスマス・ラードフ(Rasmus Lerdorf)らによって設計されたプログラミング言語であり、
1995年に発表され、1996年にPHP/FIとしてリリースされました。
発表当初はPHPは単なるツール群としての扱いでしたが、徐々に改善を行いプログラミング言語としての地位を確立して利用者が拡大していったという経緯を持ちます。
1996年のリリース以来、改善とバージョンアップを行いデータベース、クッキー、ユーザー定義関数などのサポートが組みこまれていきその後PHP 3.0がリリースされます。
PHP 3.0は現在のPHPに非常に近い状態となった最初のバージョンと言え、拡張性に優れていた点が特徴となります。
また、世界中から開発者が参入したことによりPHPは市場において急速なシェアの拡大をみせたのです。
その後も開発を継続され、PHP 4.0を経て2004年にPHP 5.0がリリースされます。
多くのPHPのフレームワークが2005年前後に設計されていることを考えるとPHPの歴史はフレームワークと密接に関わりつつ発展を遂げているといってもいいでしょう。
2021年の現在では頻繁に利用されるフレームワークだけでも10以上のフレームワークが存在し、それぞれの発展を遂げております。
CakePHPはすでに周知の通りPHPのフレームワークの中でも最も有名なサービスの一つと言えますので、
PHPをこれから学習するエンジニアはCakePHPに関する知識を学習することは必須と言えるでしょう。
CakePHPは2005年に公開され、同年にはCakeソフトウェア財団が設立されました。
Cakeソフトウェア財団は所謂オープンソースプロジェクトであり、営利団体ではなく
CakePHPの認知度向上や経験をシェアをするために運営される組織となります。
Cakeソフトウェア財団は一般的なプログラミング言語のオープンソースコミュニティーと同様、
インターネット上もしくは地域のオフラインを通じて交流を行い、ソースコードへ貢献を行うことや不具合が発生した場合の報告や修正などを行っております。
CakePHPの初版は2005年にリリースされ、その後CakePHP1.2は2008年にリリースされ、一年に一回もしくは二回程度のペースでコンスタントにバージョンアップが実行されております。
CakePHPの特徴としては、MVCモデルを採用していることや開発に必要な機能の雛形を自動生成できるbake機能やコミュニティーが活発であることがあげられます。
CakePHPのCakeとはお菓子のケーキが由来となっております。
まるでお菓子を焼くように簡単に開発を行うことができるという意味でもあり、
CakePHPのロゴにもケーキをイメージしたデザインが採用されております。
また、上述したbake機能のように機能やコーポネントにお菓子に由来したネーミングがされている点も
特徴と言えるでしょう。
それではさらに詳しくCakePHPについて解説させていただきますので、参考にしていただけましたら幸いです。
Ruby on Railsについて
CakePHPはRuby on Railsに影響を受け、その概念を取り入れ設計されたフレームワークといわれております。 CakePHPについての理解を深めるためにはRuby on Railsについての基礎知識を学ぶことをおすすめします。 Ruby on RailsはRoR、Railsと呼ばれRubyで記述されMVCモデルによってアーキテクチャ設計された フレームワークとなります。 Ruby on Railsの最大の特徴は開発が容易なように設計され、コードを記述する量が少なくシンプルに 実装ができる点となります。非常に開発効率が良い点が多くのエンジニアから人気を集めるその理由でしょう。 Ruby on Railsの基本的な理念として「同じことを繰り返さない」(DRY:Don't Repeat Yourself)と「設定より規約」(CoC:Convention over Configuration) というものがありますが、それも上述したようにシンプルさを求めるからとなります。 Ruby on Railsは2004年のリリース以来「2005年バージョン1.0」「2007年バージョン2.0」「2010年バージョン3.0」「2013年バージョン4.0」「2016年 バージョン5.0」「2019年 バージョン6.0」 「2021年 バージョン7.0」といった形で複数回バージョンアップを重ねてきました。 Ruby on Railsはその柔軟性や拡張性、開発速度などからWebサイト開発に利用されるケースが多く、その事例は国外国内問わず実に多くの実績を誇ります。 日本国内では、CookpadやGunosyなどの開発に利用されております。 また、スタードアップ企業で導入されるケースも非常に多く、Webサービスを立ち上げる際に相性がいいことも特徴と言えるでしょう。
CakePHPの特徴について
CakePHPの特徴について説明させていただきます。 ポイントを3つに絞り紹介させていただきますので、参考にしていただけましたら幸いです。
MVCモデル
CakePHPの特徴の一点目がMVCモデルであることとなります。 MVCモデルはソフトウェアアーキテクチャーの一つであり、ソフトウェアをどのような方針やスタイルで構築を行うのか?という考え方やそのテクノロジーを指します。 MVCモデルとは、Model(モデル)View(ビュー)Controller(コントローラー)のそれぞれの頭文字を取り命名したものとなります。 Model、View、Controllerの各機能ごとにプログラミングを行い役割をもたせることで、ソフトウェアの生産性や保守性を向上させることが可能となります。 Modelはビジネスロジックを担当・Viewは表示、出入力を担当・ ControllerはModelとViewを制御する担当というように役割分担がされております。
bake機能
CakePHPの特徴の二点目がbake機能となります。 bake機能はCakePHPの中でも重要な機能となり、 MVCモデルの中のWebアプリケーションの雛形を自動生成するための機能を指します。 これによりアプリケーションの開発効率が向上し、高速化を行うことが可能となります。
コミュニティ
CakePHPの特徴の三点目がコミュニティとなります。 「CakeFest」と呼ばれる有名なカンファレンス以外にもオンライン上での 交流が活発に行われております。 コミュニティについて簡単に解説させていただきます。 コミュニティに貢献する方法として、 開発者コミュニティに対して直接サポートする方法があります。 例えば開発者からの質問に対して回答することやコメントやプラットフォーム上での やり取りがそれに該当します。 また、コミュニティにおいて教育や訓練を行う方法はいくつか準備されており コーディングセミナー、ライブワークショップ、ハッカソン、トレーニングコース、チュートリアル などがそれに該当します。
PHP技術者認定試験について
PHP技術者認定試験について説明させていただきます。 PHP技術者認定試験はPHP技術者認定機構が認定する資格となります。 PHP技術者認定機構は日本市場における PHP技術者の育成と、納品品質の向上を目的として活動を行う組織 となります。 「PHP技術の普及や技術者育成の推進を目的とした活動全般」「PHP技術者認定制度「PHP技術者認定試験」の運営」「出題レベルの諮問、教材認定」を掲げ、協賛企業として 株式会社オライリー・ジャパン、ニフティ株式会社、日本マイクロソフト株式会社、NTTコミュニケーションズ株式会社といった大手のIT企業があります。 PHP技術者認定試験は難易度により、PHP7初級試験・PHP5初級試験・PHP5上級試験/準上級試験・PHP技術者認定ウィザードに分類されますのでそれぞれについて簡単に紹介させていただきます。
PHP7技術者認定初級試験はPHPプログラミングの基本知識を問う試験となり、
PHP技術者認定試験の中ではエントリークラスに該当する試験となります。
試験内容は「PHPの特徴」「テキストと数の操作」 「ロジック:判定と繰り返し」 「データのグループ:配列の操作」「ロジックのグループ:関数とファイル」 「データとロジックの結合:オブジェクトの操作」
「ユーザとの情報交換:Webフォームの作成」「情報の保存:データベース」 「ファイルの操作」
「ユーザの記憶:クッキーとセッション」 「他のWebサイトやサービスとのやり取り」「デバッグ」
「テスト:プログラムが正しく動作するようにする」
「ソフトウェア開発で心得ておきたいこと」「日付と時刻」「パッケージ管理」「メールの送信」
「フレームワーク」「コマンドラインPHP」「国際化とローカライゼーション」から構成され、計40問が出題されます。
PHP5技術者認定初級試験については、「PHP5初級試験 認定教材」が出題範囲となり
「テキストと数の操作」「決定と繰り返し」「配列の操作」「関数」「Webフォームの作成」
「データベース」「クッキーとセッション」「日付と時間」「ファイルの操作」「XMLのパースと生成」「デバッギング」「正規表現の基礎」の中から出題され、合格ラインは7割程度となります。
PHP5上級試験/準上級試験は7割以上の正解でPHPの言語仕様から実用的で高度なプログラミングテクニックをもつ上級者となり、
5割以上-7割未満の正解でオンラインマニュアル等を参考にプログラミングができるレベルである準上級試験合格となります。
試験範囲は『プログラミングPHP 第3版』から「1章 PHPについて」「2章 PHP言語の基本」 「3章 関数」 「4章 文字列」 「5章 配列」
「6章 オブジェクト」 「7章 ウェブに関するテクニック」 「8章 データベース」 「9章 グラフィック」
「10章 PDF」 「11章 XML(&XML系で追加された関数)」 「12章 セキュリティ」
「13章 アプリケーションに関するテクニック」「14章 PHPの拡張 」
「15章 WindowsでのPHP」 「SPL(Standard PHP Library)」 「日付クラス」
「PEAR(管理系のコマンドなど)」「名前空間」「クロージャー」「リフレクション」
「Late Static Binding」「JSON 0.02」「PDOとネイティブモジュールの違い」 「mysqlndドライバについて」「正規表現(pcre, posix, mbstring)」 「APD/Xdebug」 「memcache」
「フィルター」の内容が出題されます。
PHP技術者認定ウィザードはPHP技術者認定試験の最上位資格となり、上級試験を合格した人が
受験することができる資格となります。
上級試験でスコア90点(90%)以上を取得した後、所定の文章を提出し承認されることが
合格条件でありPHP認定ウィザードに関する所信表明、PHPが好きなところ、将来の夢・展望、PHPコミュニティ活動や、勉強法などを記述します。
以上が簡単ではありますがPHP技術者認定試験についての説明とさせていただきます。
まとめ
いかがでしたでしょうか?CakePHPについて解説させていただきましたので、 参考にしていただけましたら幸いです。