CakePHP1.2

CakePHP1.2 findBy で複数条件の指定

findByで複数条件の指定 $this->Model->findByIdAndName( $id, $name ) OR も指定可能 $this->Model->findByIdOrName( $id, $name ) 参考にさせていただきました。 http://www.syuhari.jp/blog/archives/134

CakePHP1.2 HTMLヘルパーのチェックボックスでデフォルトでチェックありにする

チェックボックス <input type="checkbox" name="data[Model][field]" value="1" id="ModelField" />デフォルトでチェックあり array('checked'=>1) array('checked'=>true) array('checked'=>'checked') 参考にさせていただきました http://as.blog16.jp/index.php/2008/01/15/p128 http://www.syuhari.jp/blog/archives/62

CakePHP1.2 elements 使用方法

共通で使えるようなHTMLを部分描画する時にview/elements配下にHTMLを作成し、 renderElement('ファイル名') ?> で呼び出すことができる。ディレクトリを切ることもできるみたいだ。 参考にさせていただきました。 http://asaton.seesaa.net/article/4727496…

CakePHP1.2 default.ctpの中身を動的に出力する

action ?> で呼ばれたアクションを取得して出し分ける。 参考にさせていただきました。 http://project-p.jp/halt/anubis/blog_show/1046

CakePHP1.2 HTMLヘルパーの日付コンボを年月日で表示する

CakePHPのHTMLヘルパーを使って年月日のコンボを表示する。 $form->dateTimeはseparatorを設定できるんだけど、「○○年○月○日」という形で表示したいのでヘルパーをカスタムする。コントローラー 2000, 'maxYear' => date('Y'), 'separator' => array('年', …

CakePHP1.2 hasOne, belongsTo, hasMany, hasAndBelongsToManyの理解2

つづき。 $hasMany http://book.cakephp.org/ja/view/82/hasMany 例) 1ユーザに対して複数のコメントが存在する。 array( 'className' => 'Comment', 'foreignKey' => 'user_id', 'conditions' => array('Comment.status' => '1'), 'order' => 'Comment…

CakePHP1.2 hasOne, belongsTo, hasMany, hasAndBelongsToManyの理解1

CakePHPのmodelが便利すぎる。 $hasOne http://book.cakephp.org/ja/view/80/hasOne1対1の関係。 例) ユーザーは一つのプロフィールを持っている。 array( 'className' => 'Profile', 'conditions' => array('Profile.published' => '1'), 'dependent' =…

CakePHP1.2 ログイン時の自動リダイレクト回避

CakePHPのAuthコンポーネントを使った時、 /controller/components/auth.php 内で$this->referer()を使って参照先に勝手にリダイレクトしてくれちゃっている。 勝手がいいかと思ったけど、意図しないページにリダイレクトされてしまう場合も多々あり回避する…

CakePHP1.2 リファラー

おお! referer(); ?>

CakePHP1.2 [find] [findAllBy] [findBy]

使い分ける為のメモ find($type, $params) http://book.cakephp.org/ja/view/449/find$typeに 'all'、'first'、'count'、'list'、'neighbors'、 'threaded' のいずれかを指定。デフォルトは 'first'。memo:idをkeyにしてデータを取得する User->find('all', …

CakePHP1.2 メディアビュー(ファイルダウンロード)

ユーザへバイナリファイル送信 view = 'Media'; $params = array( 'id' => 'example.zip', 'name' => 'example', 'download' => true, 'extension' => 'zip', 'path' => 'files' . DS ); $this->set($params); } } ?> パラメータ id ID はファイル拡張を含む…

CakePHP1.2 const定義

定数ファイルの設置/app/config/const.php 作成 /app/config/bootstrap.php 追記 コントローラで定数をechoすると 参考にさせていただきました http://kashioka.net/2008/11/cakephp-6.html http://blog.ne2ma2.com/archives/154

CakePHP1.2 Authコンポーネントを使って認証機能を実現する4

ログインしている状態でブラウザの「戻るボタン」でログイン画面に戻り、もう一度ログインしようとすると意図しない画面にリダイレクトされてしまう。beforeFilterファンクション内で $this->Auth->loginRedirect = '/users/index'; と記述することによって…

CakePHP1.2 Authコンポーネントを使って認証機能を実現する3

ログインユーザ情報取得 $this->Auth->user() 該当ユーザのuserテーブルに登録されている全ての情報が取得できる。 ステキすぎる。

CakePHP1.2 Authコンポーネントを使って認証機能を実現する2

ログイン失敗時とログイン前にアクセスしようとした時のメッセージ設定をbeforeFilterファンクション内で行う。 Auth->allow(a('regist')); $this->Auth->loginError = 'ログインエラーです。'; $this->Auth->authError = 'ログインして下さい。'; } ?> logi…

CakePHP1.2 Authコンポーネントを使って認証機能を実現する

標準でAuthコンポーネントを使って認証機能を実現する。1.userテーブル作成 CREATE TABLE `users` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `username` VARCHAR( 255 ) NOT NULL , `password` VARCHAR( 255 ) NOT NULL , `created` DATETIME NOT N…

CakePHP1.2 CakePHPのScaffolding

CakePHPを色々調べていくうちにScaffoldingという言葉にぶち当たった。 なんだ、これ?と早速検索。 Scaffolding http://cakephp.jp/doc/scaffolding.html Scaffold ビューのカスタマイズ http://cakephp.jp/doc/ch05s02.html 記述法 なんだか色々と役に立…

CakePHP1.2 Hello world

CakePHPの基本中の基本である流れを確認する為に、必要最低限なソースで「Hello world」を表示する。 テーブル作成 CREATE TABLE `dummy` ( `id` INT NOT NULL AUTO_INCREMENT, `created` DATETIME, `modified` DATETIME, PRIMARY KEY ( `id`) ) CHARACTER S…

CakePHP1.2 レイアウト

Cake導入後のデフォルトレイアウトは/cake/libs/view/layouts/default.ctpとなっている。 /app/views/layouts/default.ctp に新しいデフォルトレイアウトを作成することで上書きすることができる。http://book.cakephp.org/ja/view/96/%E3%83%AC%E3%82%A4%E3…

CakePHP1.2 HTMLエスケープ

CakePHPでhtmlspecialcharsはh()でいける。 echo h($form->value("User.name")); echo h($form->value("User.mail"));

CakePHP1.2 基本的なデバッグ

CakePHPが提供しているデバッグ関数。 debug($var, $showHTML = false, $showFrom = true) ネタ元 http://book.cakephp.org/ja/view/458/%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AA%E3%83%87%E3%83%90%E3%83%83%E3%82%B0 print_r() 関数と同じノリで使用できる。…

CakePHP1.2 createdとmodified

CakePHPではcreated(登録日)と modified(更新日)を自動設定してくれるらしい。ネタ元 http://book.cakephp.org/ja/view/69/created-%E3%81%A8-modifiedupdatedはmodifiedと同じ振る舞いをする。 これらはdatetimeフィールドである必要があるとな。 なる…

CakePHP1.2 デバッグモード

app/config/core.phpの中にあるdebugでデバッグ設定ができる。 運用モード onfigure::write('debug', 0); エラーと警告を表示 Configure::write('debug', 1); エラーと警告、SQLを表示 Configure::write('debug', 2); エラーと警告、SQL、complete controlle…

CakePHP1.2 viewのctpとthtml

viewに格納するファイル拡張子はCakePHP1.1だとthtmlだったがCakePHP1.2からはctpに変わったらしい。ほうほう。 拡張子を短くしたかったとか。 でもCakePHP1.2では必ずctpを使えってわけではなく、thtmlでもctpでもどっちでもいいみたいだ。 view/layoutsに…

CakePHP1.2 インストール

1.CakePHPをここからダウンロード CakePHP (今後、1.2版ベースでやっていきます) VERSION.txtは1.2.0.7962。 2.ダウンロードしたソースを解凍し、xamppのhtdocsにえいやっ!とぶっこむ。 【xampp】 http://www.apachefriends.org/jp/xampp-windows.html 3.…