説明
同じ会社の人がcakePHPについてまとめた文です。
この人はRuby
=================================================
cakePHP
公式の文をまとめると、
・PHP
・Ruby
特徴としては、ruby
・PEAR等の外部ライブラリに依存していない
・インストールが簡単。(ダウンロードしたファイルを解凍後、コピーするだけ)
以下、フレームワークとしての機能を上げます。
・MVCモデル
・Cool
・ActiveRecord
・モデルのバリデーション機能
・ビューで便利なヘルパー群
・ビューキャッシュ
・フィルタチェイン
・アクションチェイン
・ネイティブ関数の短縮表記
私は以前、ruby
モデルのバリデーション機能はわかりやすかったです。
その視点からの意見ですが、便利なところと、不便なところをまとめてみました。
便利な機能
・MVCモデル
・Cool
・フィルタチェイン
上記3つは、ruby
・アクションチェイン
この機能は、別のコントローラのアクションを呼び出す機能で、結構便利です。
アクション共通の関数はコンポーネント化するという考え方がありますが、
アクションチェインのおかげでコントロール化してしまうのもアリです。
・入力データ専用の変数がある
画面からの入力データはすべて
遷移先の画面で使う時は、特にいじる必要がありません。
そのため、入力画面→確認画面
データの処理を意識する必要がありません。
これは、入力画面時の入力チェックエラーなどで同じ画面に戻る時も同様で、
特に何もしなくても、入力データは保持されています。
・インストールが簡単
コピーして配置すれば終わりなので、環境の構築は楽です。外部のライブラリに
依存してないのがいいですね。
不便な機能
・モデルのバリデーション
この機能に関しては、結構貧弱な印象を受けました。というのも、一つの項目に
一つのルールしか設定できず、あとは、自前で用意する必要があるからです。
私が使っているのは、バージョン
バリデーション機能が大幅に強化されるようです。
1.2系はα版が出ており、モデルのバリデーションだけ抜き出して1.1系に適用
している人もいるようですね。
・DB
ActiveRecord
この時取得するデータの形式がちょっとわかりづらいです。
以下のような感じになります。
"フィールド名"
…),
という感じでモデル名が必ず含まれています。モデルはデータを取得する時に
指定しているため、($this->Modelname->find(...)
アクセスにまたモデル名が必要なのか、と思ってしまいます。
簡単ですが、こんな感じでしょうか。もう少し使い込んでみたいです。
php
ので、今後どういうふうに便利になっていくのか、という期待はあります。
最後に上記挙げた機能の説明は以下の通り。
・MVCモデル
・Cool
・例えば、「ユーザの情報を編集するURI」を考えた時、Usersコントローラーのeditメソッドをアクションとし、
パラメータとしてユーザーIdを渡すとすると・・・
http://example.com/users/edit/128
というようURIで可能となる。
この規則は
場合によっては、mod_rewrite
また、外から直接呼ばれたくないアクションは
_foo()
__foo()
・ActiveRecord
例:
//
$users
//
$user
・モデルのバリデーション機能
・多分
となると、範囲内チェックや、文字列用や数値であるかどうか等が指定可能?
・ビューで便利なヘルパー群
<!--$job_optionsはoption要素用の連想配列で,$user['User']['job']
selected
<?php
<script
//
var
$javascript->escapeString($user['User']['name'])
</script>
この辺(
この辺(
・ビューキャッシュ
・初期状態では無効。開発時は無効にしておいたほうがよさげ。
・有効にする場合、app/config/core.phpのCACHE_CHECK定数をtrueにし、
キャッシュさせたいコントローラークラス内で、キャッシュさせたい
アクション名(必要であればパラメータ)と生存時間(秒)を定義すればよい。
・フィルタチェイン
・コントローラの共通処理を定義する手段として、すべてのアクション前に
実行できる
モデルで
できる。
・アクションチェイン
・アクションとして定義したメソッドを外部から呼べるようにできる(通常はURI
から呼び出されるアクションを内部から呼び出すことができる)。
$usersDetail
array('return'
・ネイティブ関数の短縮表記
例:
・array(配列)
・array(連想配列)
・array_merge
・htmlspecialchars
・str_replace
・print_r
※
参考文献
CakePHP
http://cakephp.org/
CakePHP
http://www.cakephp.jp/doc/index.html
CakePHP
http://www.blueocean.bz/blog/cakephp/index.php
idea*idea
http://www.ideaxidea.com/archives/cakephp/
cakePHP
http://www.blueocean.bz/blog/cakephp/archives/category/
cakePHP入門
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=33...
ソースコード
コメント
前へ 1 次へ![]()
コメントする
[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。
[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。











