アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 連載 » CakePHPで高速Webアプリ開発 » 第1回 CakePHPを使いたくなる5つの特徴

CakePHPで高速Webアプリ開発

第1回 CakePHPを使いたくなる5つの特徴

CakePHPとは

CakePHPはオープンソースで開発されたPHP用のフレームワークです。Ruby on Railsの影響を強く受けており,Webアプリケーションを高速に開発するための仕掛けが随所に盛り込まれています。

PHP開発者の方で,Railsで開発してみたいけどRubyの経験がないのでなかなか行動に移せない方などはとくにCakePHPを試してみてほしいと思います。Railsの考え方を肌で理解しつつ,PHPでWebアプリケーションを高速開発するための選択肢を手に入れることになるでしょう。

CakePHPを使いたくなる5つの特徴

まずは皆さんにCakePHPに興味を持っていただくため,フレームワークでの開発経験がある方にもない方にも「そういうことなら使ってみたい!」と思うような特徴を紹介いたします。

習得までの時間が短い

フレームワークの習得にはどうしても時間がかかりますが,CakePHPは筆者が経験してきたフレームワークの中では最短級の時間で習得することができました。習得が短く済んだ理由を考えてみたところ,いくつか思い当たるふしがありました。

まず1つ目に日本語に翻訳された優れたチュートリアルがあることです。筆者はCakePHPを始めるにあたって,「CakePHP プログラマーズ リファレンスガイド」の「付録 A. Cake ブログチュートリアル」をこなしました。CakePHPの入手からDBの設定,モデル,ビュー,コントローラの作成,バリデーションの追加といったWebアプリケーション開発で必要な作業を一通り体験することができます。

2つ目は標準のエラーメッセージがやけに親切なことです。解凍したパッケージをWebサーバーにそのままアップロードして動作させると,DBの接続情報が間違っているというメッセージが出ます。ここまでは普通ですが,モデル,ビュー,コントローラが足りないときはひな形となるPHPコードとファイルの設置場所のパスを示した画面が表示されるという親切ぶりです。これのおかげで行き詰まることなく習得初期の開発を進めることができました。

他にも細かいことですが,「日本語のCakePHPフォーラム」のトピックにノイズが少なく,書き込みに貼り付けられたPHPコードが綺麗に色付けされていたりとモチベーションを維持できる環境が整っていたことが挙げられます。

設置が簡単かつ外部ライブラリに依存しない

CakePHPはパッケージをFTPでアップロードするだけで動作します。PHPが動作する標準的なレンタルサーバーであればたいてい動作するでしょう。また,PEARなどの外部ライブラリを一切必要としません。もちろん今までどおりPEARなどを利用することもできますので,使い慣れたライブラリを手放す必要はありません。

PHP4と5の両方で動作する

多くのフレームワークはPHP4と5のどちらか専用だったり,バージョンによって動作対象が変わりますが,CakePHPはそのままでPHP4でも 5でも動作します。また,PHP6でも動作する予定となっています。ちなみにコアライブラリの中にmodel_php4.phpと model_php5.phpというファイルがあり,PHPのバージョンによってコードを分けている部分があることがわかります。

病みつきになるActiveRecordパターンのO/Rマッパー

CakePHPのO/Rマッパー(オブジェクト志向における,オブジェクトとリレーショナルデータベースを関連付けするための仕掛け)はActiveRecordパターンを採用しており,SQL文を書くことなく非常に短い記述でレコードの抽出や書き換えが行えます。

さらにアソシエーション(関連付け)を記述することで,関連したテーブルの情報を自動的に取得できます。

たとえばブログシステムでエントリのIdをもとにエントリ内容と投稿者の情報とコメントとトラックバックを取得したいとき,アソシエーションを適切に設定しておけば「$this->Entry ->findById($id)」と書くだけで,すべての情報が連想配列となって返ってきます。筆者はこの便利さに病みつきになり,Railsの考え方の素晴らしさを実感しました。

ビュー部分がピュアPHPである

CakePHPのMVCでいうビュー部分において,コントローラからセットされた値を表示するときは <?php echo h($title) ?>(hはhtmlspecialcharsの代替関数。CakePHPで予め定義されている)といったように,生のPHPコードを埋め込みます。

第二の言語といえるテンプレートエンジンの習得が不要なため,最小限の知識でビューを記述することができます。

また,正式にサポートされているわけではありませんがSmartyを利用することも可能なようです。

このようにテンプレートエンジンを柔軟に変更できる点も,CakePHPの特徴といえます。

まとめ

まずはフレームワーク開発の前に敬遠されがちな点を払拭するために,今回は少々抽象的な特徴の紹介になりました。次回はCakePHPのフレームワークとしての機能に絞った紹介をしたいと思います。

著者プロフィール

秋田真宏(あきたまさひろ)

株式会社ヨセミテ CTO。個人ブログは「akiyan.com」。1981年生まれ。

URLhttp://www.akiyan.com/

著書

  • Fast CakePHP

    Fast CakePHP

トラックバック

  • CakePHP

    CakePHP ひょんなことから始める事になったCakePHPについて。 CakePHP/罠 Links CakePHPフレームワークによる快速WEB開発:CodeZine CakePHPで高速Webアプリ開発:第1回 CakePHPを使いたくなる5つの特徴|gihyo.jp … 技術評論社 Home | The Bakery, Everything C...

    Tracked : #12  Takoyaki.ddo.jp (PukiWiki/TrackBack 0.4) (2009/04/15, 12:11)

  • CakePHPに対する苦手意識を克服したい

    誰にだって苦手なものがありますよね。蛇が嫌いとか、血が駄目とか・・・まぁ、そういうのはおいといて、仕事で必要となる知識で「いつまでも苦手と言ってられない」ものがいくつかあります。克服しなきゃ!!と、毎日のように思い続けてもう1年半以上になるのが「CakePHP」で

    Tracked : #11  沖縄ホームページ制作やSEOで頑張る!沖縄ホームページ制作工房「WebCrafts」 (2008/12/08, 19:00)

  • cake phpを勉強

    これからのデザイナーはデザインだけじゃいかん、 ということで、 PHPの勉強を昨...

    Tracked : #10  phas.jp (2008/05/18, 21:35)

  • CakePHPの本が出る!

    Ruby on Railsの習得が滞っている中、仕事ではPHPをちょこちょこやっているので、ひとまずPHPのフレームワークも勉強しようと、色々触ってみたところ、このCakePHPが一番簡単に始められまし...

    Tracked : #9  TMJ style (2007/10/19, 16:21)

  • cakePHPがすこぶる楽しい

    最近、cakePHPに目覚めました。以前も少しさわった事はあったのですが、ここ数...

    Tracked : #8  サトウマサヒコ (2007/09/03, 13:33)

  • 1ページ(1/3)    

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

読むウェブ ~本とインタラクション

ディスプレイで読む活字とそのインタラクション(interaction:相互作用)について,最新Webを紹介しながら読み解いていく。

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス