00:00現在、短期間での効率的な開発を実現するために、多種多様なPHPフレームワークが公開され、PHPによるWeb開発環境が整いつつあります。Railsに触発されて開発が始まり、その後PHP流に独自の発展をとげているCakePHPフレームワークの使い方をご紹介します。PHPという言語の面白さや、PHPフレームワークを使った開発手法に興味を持っていただければと思います。完成図:bake.phpで自動生成はじめにPHPは、データベース(以下、DB)と連携する高機能なWebアプリケーションを容易に作成できるスクリプト言語です。現在、さらに短期間で効率的な開発を実現するために、さまざまなPHPフレームワークが公開され、開発環境が整いつつあります。Railsに触発されて開発が始まり、なおかつ独自の発展を遂げているCakePHP(ケイク・ピー・エイチ・ピー)フレームワークを紹介します。PHPという言語の面白さや、フレームワークによる開発に興味を持っていただければと思います。対象読者PHPの基礎知識を持ち、フレームワークを利用した効率的なWeb開発に関心のある方。必要な環境CakePHPを利用するために必要な環境は次のとおりです。4.1という構成で解説を行います。PHPフレームワークの利点PHPをそのまま使ってもプログラムは書けます。PHPフレームワークを利用すると、どのような利点があるでしょうか。コードを繰り返し書くことを極力避けることができるPHPは非常に手軽な言語なので、各ページごとに、DBへの接続、データの読み込み、HTMLでの表示、という一連の流れをべた書きしたプログラムを書くのは簡単です。100ページ分、それぞれに同じことを繰り返し書いた場合、一箇所に変更が生じると100回書き直す必要があります。オブジェクトを利用することでその作業量を軽減できますが、フレームワークを利用すると、さらに書くべきコード量を劇的に減らすことができます。「コード量が少ない」ということは「変更時の修正箇所も少なくてすむ」ことになり、安定したサイト運用につながります。MVCアーキテクチャによる、機能の分離Webの世界では、MVC(モデル、ビュー、コントローラ)という設計モデルがよく使用されます。CakePHPもこの形を採用しており、それぞれに一つずつファイルが対応しています。ファイルが別々になっているので差し替えが比較的容易です。どこで何をやっているのかを区別したり、まとめたりしやすくなっています。将来的な拡張、変更に対応しやすいCakePHPフレームワークを利用している場合、例えば、セッション管理をPHPのファイル形式からDB形式に変更したいのであれば、パラメータの設定を一つ変更するだけです。既存のシステムをAjaxでより魅力あるインターフェイスに変更したい、というような場合でも、フレームワークを使って書いてあれば修正すべき箇所を見つけやすくなります。これは、処理ごとにファイルがまとまっているからです。チーム作業を効率的に分担できるデータ処理とデザイン部分が完全に分離しているため、プログラムを作成した後で外観デザインを作ることもできますし、デザイナーとプログラマーが並行して作業を進めることも容易です。Ajax、その他の最新技術を反映させやすいフレームワークを利用した作業の場合、コミュニティが活発であれば、最新技術に関するコンポーネントやヘルパーなどの部品がよく公開されます。自分のプロジェクトを大幅に変更しなくても、プラグインのような感覚で機能を追加できるかもしれません。CakePHPフレームワークの利点PHPはその手軽さからか、非常に多くのフレームワークがオープンソースで開発され、公開されています。Frameworkの開発に乗り出しました。した中で、CakePHPフレームワークの特長には次のようなものがあります。Railsへ移行しやすくなります。Frameworkやその他の各種のクラスを「vendor」フォルダに取り込んで利用することもできるので、修得コストが無駄になりません。CakePHPフレームワークを利用した開発に挑戦してみましょう。インストールCakePHPのインストールはいたって簡単です。ファイルをダウンロードし、解凍してWebサーバーに入れてください。開発用であればこれでOKです。そのアドレス(cakeを入れたいちばん上の階層)を見に行くと、インストールができたという表示が出るはずです。その後、「app/config/database.php」の中にDBへの接続情報を書き込みます。アクセスし、DBに接続できるという表示が出るのを確認してください(なお、Apacheのmod_rewriteが利用できるように設定しておいてください。詳細はcakephp.jpに説明があります)。チュートリアルの情報を追加。bake.phpのTipsを追加。CakePHPガイドブック」。CentOSサーバによる大小のコールセンター立ち上げ業務のかたわら、オープンソースプロダクトのコンサルティングを行う日々。http://cakephp.jpの管理人。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。