by shigemk2

当面は技術的なことしか書かない

cakephp

バリデーション custom

var $validate = array('field' => array('rule' => array('custom', '/^hoge[A-Z]{5}/'))); ちなみに、条件分岐をかけたいときは、パイプとかを使って 正規表現で条件分岐を表現すべし。

check the manual that corresponds to your MySQL server

割と笑えるのだが、 モデルのファイル名を単数形ではなく複数形(model.phpではなく、models.php)にすると、 check the manual that corresponds to your MySQL server みたいなエラーが出てしまう。 モデル名に注意すると良いですよ。

saveメソッド

404 Not Found ここから。 saveメソッドは特定のモデルにデータを追加するためのメソッドであるが、 第二引数、第三引数を指定することが出来る。 save(array $data = null, boolean $validate = true, array $fieldList = array()) 引数の内容は左から デー…

バリデーション

404 Not Found変数の中身を指定出来る。例えば、 パスワードは8文字以上 ユーザ名は必ずユニークに といったことが指定出来る。 バリデーションを定義することは、フォームの取り扱いをとても簡単にすることである。なお、データのバリデーションを行うには…

SessionComponent::setFlash()

一時的なビューに表示するためのメッセージを設定する $this->Session->setFlash($message, $element, $params, $key); 変数名 型 初期値 説明 $message string (省略不可) メッセージ本文 $element string default nullの場合はそのまま表示。defaultの場合…

AuthComponent::user()

認証済みのユーザ情報を入手する。 認証完了時にセッションに保持されその値が使用されるただし、特に指定しない限りは認証対象モデルの全てのフィールドを保持する。 保持されたデータはセッション内に保持されるので場合によってはセキュリティが 甘くなる…

AuthComponent::allow()

認証をせずに実行可能なアクションを指定する。 変数名 型 初期値 説明 $action string (複数指定可) 許可するアクション名。または「'*'」を指定すると全てのアクションを許可する 戻り値 なし

Authコンポーネント

認証の仕組みを提供する。コントローラ内で使用するコンポーネントに「Auth」を加えることで、認証コンポーネントは使用可能になる。loginError、data、autoRedirectなどのプロパティが存在する。Pocket詳解 CakePHP辞典作者: 滝下真玄出版社/メーカー: 秀和…

params['form']

404 Not Found $this->params['form']; $_FILES 内の情報も含めた、すべてのフォームからのすべてのPOSTデータがここに入る。

$this->paramsの中身

404 Not Found またしてもここから。$this->paramsの構造について。 var_dump($this->params)をやってみた(一応変数名とかURLは修正している) array(8) { ["pass"]=> array(0) { } ["named"]=> array(0) { } ["controller"]=> string(8) "homuhomu" ["action…

クラス名とモデル名の命名のルール

cakePHP クラス名、モデル名の命名ルール こちらから。本当にありがとうございます。まずモデル名は単数だが参考にするテーブル名は複数形でなければならない。例:order_recordsというモデルを作ったとする。 controller model Table名 order_records Class…

javascriptの記述場所

ありのまま今起こったことを話すシリーズ。 一応解決した問題だけど、うまく説明できないけど なんとか説明してみます。ビューファイルにjavascriptを記述する場合、どこに書いたらいいのか、という問題について。Ajaxで別のファイルを呼び出したいというと…

cakephp の find

CakePHP モデルの関数 findAll - どうにかなるBLOG こちらから。 $conditions: 検索条件の配列。もしくは、SQL文の where 節の文字列 $fields: 取り出したいフィールドの配列 $order: 並び順 order by ******* の部分の文字列 $limit: 一度に読み込む数の上…

isAjax

Ajaxを使ってアクセスされたかどうかを判定したいときは、RequestComponentのisAjax関数を使います。 RequestHandler->isAjax()) { // 処理コード } } ?> Ajaxを使わないでアクセスされたときのことは勿論考えておきましょう。

ビューファイルのインデント

悩ましいところですが、 まず全体的にhtml-modeでインデントを合わせ、 次にphpの部分だけphp-modeでインデントを合わせるのがベターかと。

コンポーネントでモデルを使う

404 Not Found とりあえずこちらが役に立ちました。ありがとうございます。 initializeして 関数を書いて $this->controller->モデル名->メソッド で良いと思います。 あと、loadModelは使えませんでした。

リクエストハンドラコンポーネント

404 Not Found レファレンスによると、 リクエストハンドラはクライアントとリクエストについての情報を提供する、いくつかのメソッド との事です。isAjax() リクエストに含まれる X-Requested-Header が XMLHttpRequest である場合に true を返します。 isS…

warning: missing argumentというメッセージについて

missing argumentってめっ☆ってされた。 CakePHP 1つのアクションで2つの処理を入れたらMissing argument - ひとりまとめ こちらから。id:g2_girichanさん、ありがとうございました。 function hoge($id){ /* 処理 */ } 引数に初期値を設定しないと、エラー…

コンポーネント

レファレンスガイドには コンポーネントというのは,(コントローラ間で)共有できる小さな“コントローラレット”だ。 みたいな事を書いてますが、我流で解釈すると 全てのコントローラーで使える機能を書いたプログラムの事。ディレクトリ app/controllers/c…

関数の組み立て方

function index() { $hoge = $this->_何かの関数(); $homu = $this->_何かの関数(); /* 処理 */ $this->set('',); } function _何かの関数() { /* 処理 */ } まず関数を定義(実装すべき機能も考えておく)してから、 中身を書くべし。 関数の中身が大きくなり…

ajaxヘルパー

リンクを貼り、それをAjaxで読み込ませたいときに必要な処理ビュー側 < ?php echo $ajax->link('リンクの文字','コントローラーのURL/メソッド名',array(クラス名や、書き換えたいidを指定)); ?> コントローラー側 // $ajax->link()が使えるように // ヘルパ…

html->link()で出力されるアンカータグにクラス属性をつけたい

$html->link()メソッドを使うと、HTML上ではこのように出力されると思います。 link('ほむ', '/sample/homu'); ?> <a href="/sample/homu">ほむ</a> みたいな。 このアンカータグに、クラス属性をつけたい。 link('ほむ', '/sample/homu', array('class'=>'hoge','target'=>'_blank')); …

コントローラーから任意のビューファイルを表示させる方法

$this->render(view名); をコントローラーの中に書く。同じModelのビューしか使えないようです。

ビューにコントローラーのコードが全部表示されてしまう

コントローラーにコードを書き、 ビューにもコードを書き、webサイトを見てみると…ビューにコントローラーのコードが全て表示され、 コントローラーやビューが全く動かない事態に遭遇した。git diffで差分を取ってコードをよく見てみたら、 コードの最初のお…

emacs-cakeのコマンドの覚え方

自分でブログを書いといて何ですが コマンドが多すぎて忘れてしまいがち。でも、 controller change (to) model → C-c m controller change (to) controller → C-c c controller change (to) view → C-c v最低でもこれだけ覚えておけば、MVC間の移動が楽にな…

onclickの落し穴

onclickは、viewにcontrollerの処理が同居してしまっているので あまりよろしくない。そのため、クリック処理をコントローラに全てぶちこむ。

emacs-cakeのコマンド集

すみません、公式からの完全パクリです。 Commands · k1LoW/emacs-cake Wiki · GitHub Run minor modeM-x cake CakePHP Minor Modeを起動します。 M-x cake-set-version CakePHPのバージョンを設定します(1.2 or 1.3)。これによりcake-completeの補完コード…

cakephp on macまとめ

cssが機能しない core.phpのデバッグ mysql.sockの設定のズレ zcatの問題(sql.gz.Z)いずれも解決。暫定として。

javascriptファイルを読み込む

Controller class HogesController extends AppController { var $helpers = array('Javascript'); } View php echo $javascript->link('sample'); ?> まあこういうことで。

cakephpのサイトでグラフを使う方法を考えてみる

手順としては、 APIの整理 グラフ化 実装 といった順番で、実装を行う データを拾ってグラフ化を行うツールとしては、 GoogleChartAPI jQueryGraph Kayak HatenaGraph などがある。 jQueryGraph以外のツールは、外部のツールであり、一旦データを外部に渡さ…