10月
04

ITシステム/サービス デジタルサーカス株式会社 2013年10月04日


【プレスリリース概要】
WEBサイト構築/WEBシステム開発を手がけるデジタルサーカス株式会社(本社:東京都港区)は、CakePHPバージョン2.4までの機能を解説した『Webアプリ開発を加速する CakePHP2 定番レシピ119』を秀和システムより出版したことを発表しました。

【プレスリリース内容】
WEBサイト構築/WEBシステム開発を手がけるデジタルサーカス株式会社(本社:
東京都港区)は、CakePHPバージョン2.4までの機能を解説した『Webアプリ開発
を加速する CakePHP2 定番レシピ119』を秀和システムより出版したことを発表
しました。


【Webアプリ開発を加速する CakePHP2 定番レシピ119】

当社CTO・長谷川智希が執筆した『Webアプリ開発を加速する CakePHP2 定番レシ
ピ119』が、秀和システムより出版されました。

本書では、実際の開発で最もよく使うCakePHPの「美味しいところ」及び定型の
書き方がわかる必修コードパターンを「レシピ」という形で厚く解説しています。
「ライブラリが膨大で使う機能がわからない!」、「すぐに解決方法がわからな
いとイライラする!」、「誰もが書いているようにムダなく書きたい!」こんな
方々にぜひお勧めしたい一冊です。CakePHPバージョン2.0から最新のバージョン
2.4までで安心してご利用いただけるリファレンスとなっています。



【「まえがき」より抜粋】

 CakePHPはPHP用の高速開発フレームワークです。「設定より規約(Convention
over Configuration/CoC)」の設計を取り入れ、規約に従ってコードを書くこと
で、少ないコードで素早くWebアプリケーションを作成することができます。
2005年3月に最初のバージョンが公開されました。その後バージョンアップを重
ね、2008年12月の1.2、2010年4月の1.3を経て2011年10月にはメジャーバージョ
ンアップとなる2.0が公開されました。
日本国内でも年々ユーザが増え、2009年頃には書籍やブログなどで豊富に情報が
得られるようになりました。しかし、バージョン2.0で多くの仕様変更が加えら
れ、それまでに蓄積されてきた情報の多くはそのままでは利用しにくい情報に
なってしまいました。
そこで本書は、バージョン2.0から2013年9月現在最新のバージョン2.4まで安心
してご利用いただけるリファレンスとして、CakePHPの機能を解説するために作
られました。
 本書で紹介する機能の範囲については、筆者が数々のプロダクトにCakePHPを
採用した経験から、最もよく使うCakePHPの「美味しいところ」を厚く解説し、
多くのWebアプリケーションで利用する機能はカバーしているはずです。本書が
CakePHP入門者の理解の助けになり、すべてのCakePHP開発者の時間を節約する助
けになることを祈っています。


 
【目次】

Chapter 01  設定のレシピ

001  SQL実行結果を動的に表示する
002  デバッグツールを導入する
003  エラー発生時にメールで管理者に通知する
004  複数台のWebサーバに対応したシステムを構築する
005  開発環境と本番環境で設定を自動切り替えする
006  ファイルを独自のディレクトリに配置する


Chapter 02  コントローラ&ビューのレシピ

007  ログインしない状態では閲覧できない画像を出力する
008  AJAX(非同期通信)用のJSONを出力する
009  ファイルをアップロードする
010  ファイルをダウンロードさせる
011  PDFファイルを生成する
012  ユーザ画面と管理画面で異なるレイアウトを使用する
013  リクエストを別のURLにリダイレクトする
014  ログファイルに実行状況を記録する
015  ?を含まないURLで処理を実行させる
016  URLからデータを取得する
017  フォームから送信されたデータを取得する
018  コントローラの処理の前後に共通の処理を実行する
019  すべてのコントローラに共通の処理を記述する
020  コントローラからビューに値を引き渡す
021  エラーページをカスタマイズする
022  ビューの一部を共通要素として切り出す
023  2カラムのレイアウトを使用する
024  URLから実行されるコントローラを設定する


Chapter 03  モデルのレシピ

025  検索条件を指定してデータを取得する
026  SQLのWHERE句を使用してデータを取得する
027  必要なフィールドのみを取得する
028  データ取得時のソート順を指定する
029  SQLを使ってデータベースを直接操作する
030  特定の列に含まれる最大値を取得する
031  条件に合致するレコード数を取得する
032  開始行、取得行数を指定してデータを取得する
033  データベースからデータを削除する
034  データベースに新しいレコードを作成する
035  保存されたデータを更新する
036  作成日・更新日を自動的に保存する
037  SQLインジェクション対策をする
038  レコード作成・更新時にXSS対策の変換をする
039  CakePHPの名前規則に従っていないテーブルを使用する
040  すべてのモデルに共通の処理を定義する
041  ビヘイビアを使ってモデルの動作を拡張する


Chapter 04  アソシエーションのレシピ

042  「注文と注文明細の関係」(has many)をアソシエーション設定する
043  「社員と部署マスタの関係」(belongs to)をアソシエーション設定す

044  「記事とタグの関係」(HABTM)をアソシエーション設定する
045  アソシエーションされたモデルのデータ取得範囲を指定する
046  検索条件としてアソシエーションされたモデルのフィールドを指定する
047  プログラム中でアソシエーションを設定・解除する
048  外部キーやモデルを独自に指定してアソシエーションを設定する
049  データ削除時にアソシエーションされたモデルのデータもまとめて削除
する
050  アソシエーション先のレコード数を自動的に更新する


Chapter 05  バリデーション(検証)のレシピ

051 ユーザが入力した値にエラーがあるかを検証する
052 CakePHPの組み込みバリデータを使って値を検証する
053 バリデーションでエラーになった場合のエラーメッセージを設定する
054 入力されたユーザ名がすでに使用されているかの検証をする
055 日本語を考慮した文字数制限の検証をする
056 2回入力したメールアドレスが等しいか検証する
057 プログラム中でバリデーションを設定・解除する


Chapter 06  コンポーネントのレシピ

058  ログイン・ログアウト処理を行う
059  ユーザを登録・編集する
060  一部の画面のみログインを必須にする
061  ログイン中のユーザの情報を取得する
062  ユーザがログイン済かを調べる
063  ログインが必要なURLを直接指定されたときにログイン画面にリダイレク
トする
064  ログイン後に任意のURLに戻る
065  強制的にログイン状態にする
066  AuthComponentの動作をカスタマイズする
067  Cookieに値を設定する
068  Cookieに値が設定されているかチェックする
069  Cookieから値を取得する
070  指定したCookieの値を削除する
071  Cookieの期限やパスを設定する
072  セッションに値を設定する
073  セッションに値が設定されているかチェックする
074  セッションから値を取得する
075  指定したセッションの値を削除する
076  セッションの期限や動作を設定する
077  CSRF対策を行う
078  POST以外でリクエストされた時にエラーとする
079  HTTPS(SSL)以外でリクエストされた時にエラーとする
080  コンポーネントを自作する
081  コンポーネントからモデルを使用する
082  コンポーネントから他のコンポーネントを使用する


Chapter 07  ヘルパーのレシピ

083  ヘッダ用のHTMLタグを生成する
084  画像タグを生成する
085  リンクタグを生成する
086  パンくずリストを表示する
087  フォームの開始・終了タグを生成する
088  フォームの部品を生成する
089  送信ボタンを生成する
090  hiddenタグを生成する
091  指定したフィールドにエラーがあるかを調べる
092  エラーメッセージを表示する
093  ラジオボタンを整列して表示する
094  AJAX(非同期通信)でSELECTの中身を書き換える
095  tableタグの中にフォームの部品を表示する
096  一覧のページ分けをする
097  ヘルパーを自作する


Chapter 08  応用レシピ

098  メールを送信する
099  Memcachedを使う
100  Facebookで認証しログイン状態にする
101  Twitterで認証しツイートを読み込む
102  ビューにSmartyを使う


Chapter 09  問題発生時の解決レシピ

103  プログラムを本番環境にアップしても反映されない
104  シェルを実行するとファイルパーミッションエラーが発生してしまう


Chapter 10  MVCのサンプルソース集

105  会員登録のサンプル
106  ユーザログインのサンプル
107  一覧画面のサンプル
108  確認画面付き編集画面のサンプル


Chapter 11  1.x→2.x移行のレシピ

109  CakePHP1.3への移行
110  CakePHP2.0への移行の概要
111  UpgradeShellによる移行
112  CakePHP2.0 ~ 2.4の移行


Chapter 12  シェルのレシピ

113  シェルを自作する
114  シェルを実行する
115  シェルからモデルを使用する
116  シェルからコンポーネントを使用する
117  シェルのパラメータを取得する
118  シェル実行時にヘルプメッセージを表示する
119  シェルを定期的に実行する



【著者プロフィール】

長谷川 智希(はせがわ ともき)
1976 年生まれ。小学6 年生の時に自治体主催の子ども向けイベントでパソコン
に出会い衝撃を受ける。 中学入学と同時にMSX2+でパソコンデビューして現在ま
でプログラム・システム開発に関わる人生を送る。現在はデジタルサーカス株式
会社の副団長CTOとして活動中。ライフワークはコミュニティ/CGMサイト開発。
最近の注目テーマはカートレース、電子工作。
http://www.facebook.com/hasegawa.tomoki



【書籍情報】

著者:長谷川智希、デジタルサーカス株式会社(監)
出版社:秀和システム
価格:2,520円(税込)(本体2,400円)
ページ数:318ページ
Amazonでの購入:http://www.amazon.co.jp/dp/4798039519



【デジタルサーカス株式会社】
WEBサイト構築、スマートフォンアプリ開発、Facebookアプリ開発を行うIT企
業。海外で普及しているオープンソースパッケージとクラウドサービスを活用
し、低価格・高品質サービスを提供しています。

名称 : デジタルサーカス株式会社
所在地: 東京都港区南青山3-5-2 南青山第1韮澤ビル2F
設立 : 1999年2月
資本金: 6,682万円
代表取締役: 田口 健
URL :http://www.dgcircus.com/
Facebook:http://www.facebook.com/dgcircus

【プレスリリース連絡先】
デジタルサーカス株式会社
TEL  : 03-5775-4406
FAX  : 03-5775-4407
担当 : 溝渕
e-mail: inquiry@dgcircus.com