2013年10月4日
デジタルサーカス株式会社
【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 10MVCのサンプルソース集
105 会員登録のサンプル
106 ユーザログインのサンプル
107 一覧画面のサンプル
108 確認画面付き編集画面のサンプル
Chapter 111.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サイト開発。最近の注目テーマはカートレース、電子工作。
https://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:https://www.facebook.com/dgcircus
【この件に関するお問い合わせ先】
デジタルサーカス株式会社
TEL : 03-5775-4406
FAX : 03-5775-4407
e-mail: inquiry@dgcircus.com
※本資料の内容はご自由に転載、引用ください。
デジタルサーカス株式会社
『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 10MVCのサンプルソース集
105 会員登録のサンプル
106 ユーザログインのサンプル
107 一覧画面のサンプル
108 確認画面付き編集画面のサンプル
Chapter 111.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サイト開発。最近の注目テーマはカートレース、電子工作。
https://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:https://www.facebook.com/dgcircus
【この件に関するお問い合わせ先】
デジタルサーカス株式会社
TEL : 03-5775-4406
FAX : 03-5775-4407
e-mail: inquiry@dgcircus.com
※本資料の内容はご自由に転載、引用ください。