2008-09-01から1ヶ月間の記事一覧
かなりハマッタ。そしてこんなことに時間をかけてしまい、かなり悲しい。フォーム→確認画面→完了画面の流れで、なぜかあるパターンだけDBにSaveできない現象が発生。とくにPOSTされたデータを見ても怪しいところはない。確認画面では、下記のようにバリデー…
Viewに関して色々と忘れそうなのでメモ■エレメントを読み込み views/elements/navi_header.ctpの読み込み element("navi_header" ); ?> ■フォーム開始タグでURLを指定 URLにhttpから記載すればどのファイルへもPOST/GETで渡すことが可能 create('Model', arr…
Cakephp1.2RC2の環境です。コントローラで下記のようにすればOK. $filename = 'hoge.html'; $template = VIEWS . $this->viewPath . DS . $filename ; $this->render(null,null, $template ); renderの第2引数はレイアウトファイルの指定なので、レイアウト…
携帯キャリアの判定に, PearのNet_UserAgent_Mobileを使う方法。まず、下記からNet_UserAgent_MobileとPearをダウンロード http://pear.php.net/package/Net_UserAgent_Mobile/ http://pear.php.net/package/PEAR UserAgentMobileのファイルを展開すると、mo…
cakePHPで作られている簡易ECシステムBakesale http://bakesalehq.com/ のソースコードを見てたら、Viewで下記の記載を発見。 echo $form->inputs(array('name', 'price', 'weight', 'quantity', 'legend' => __('Add product', true)));inputsを使えば複数…
最近は大き目の案件の開発をcakePHPでしていて、なかなかブログまで手が回らない。cakeで開発して期間がどれぐらい短縮できるか実験中です。ちょっと思ったのは、ViewでFormとかのヘルパーをがんばって使うよりも、ヘルパーの動作が分からない時やハマッた時…
DISTINCTは大文字じゃないと駄目!絶対! $this->Model->find($conditions, 'DISTINCT Hoge.numberid');Distinctって書いてて、 select `Distinct Hoge`.`numberid` from .....みたいなSQLになってエラーで結構な時間、悩んでしまった。
cakeを使うと、ロジックの部分はすごく簡単にかけるようになるんだけど、DBのカラム数が多いとViewにセットした変数を記述していくのも結構一苦労。 bakeとか使えよって感じだけど、簡易管理画面以外はbake使わないし、bakeの生成するviewは余分な情報が多す…
cake/libs直下にあるphpファイルは、cake本体で利用するためでもあるけど、普通にコントローラから呼び出して使えます。かなり便利なものがたくさんあり、例えば socket.php file.php folder.php http_socket.php xml.php などがありますこれらのAPIのメソッ…
英語だけど参考になる記事 http://www.jonnyreeves.co.uk/2008/06/cakephp-activating-user-account-via-email/ユーザアカウントを仮で作っておき、cakePHPのcore.phpのsaltと、createdレコードなどを組み合わせて、Security::hashを使ってユーザごとにアク…
ここ http://cakephp.blog16.jp/index.php/2008/06/05/p7素晴らしい。
Paginationに関して調べてた時に、色々と見つけた記事を忘れないように書いておこう。 ■CakePHP Pagination まとめ http://www.syuhari.jp/blog/archives/122 ↑ソートの指定とか、昇順のしていなどをまとめている ■Paginatorの使い方。CakePHP1.2 http://www…
環境はcakePHP1.2RC2です。検索画面などで、検索条件を入力して検索結果一覧を表示するようなものって結構ありますよね。そこで面倒なページング処理なんですが、CakePHP1.2から利用できるPaginationの機能を使えば簡単にページング実装できるよって話。ただ…
cakephpのフォーラムにも書いたけど、IRCのチャンネルを作りました。日本語でだらだらと気軽にcakeの話題を話せる場を知らないので、とりあえず作ってみました。 別にcakeの話題だけじゃなくて、いろいろしゃべってますが、ひやかしでも何でもいいので、暇な…
cakephp1.2RC2の環境を前提にしています。例えば下記のように、 http://hogehoge.com/hoge/index/id1234 GETでid1234というパラメータ値を渡してそれを検索条件にしているような場合、viewのファイルに下記の1文を記述すればpaginationのURLにもパラメータ…
cakePHP1.2rc2の環境をベースにしてます。DBを絡めたバッチ処理とか、cake使うと簡単にできます。cakeである程度WEB画面まで実装してれば、modelファイルとかもあるだろうから、コントローラーっぽいプログラムを実装するだけ。基本は、app/vendors/shells/…
cakePHP1.2rc2を使ってますが、標準のバリデーションでmaxlengthを使って文字数チェックをしようとすると、日本語に対応していないのでバイト数をカウントしてしまいます。(例えば、「あああ」だったら9文字とカウント(UTF8))そこで、日本語の文字数をカウ…
cakePHP1.2rc2の環境です。cakePHP1.1の場合は下記の.ctpを.thtmlにすれば動くと思います。cakePHPは、存在しないURLのリクエストがくると、404エラー画面を出しますが、この画面の内容を変更する場合は、 app/views/error/error404.ctp というファイルを置…
例えば選択されたラジオボタンによって必須項目が変わるような、あるモデルのファイル内で、複数パターンのバリデーションチェックをしたいと思い、昨日、新幹線の中で悶々としてました。 とりあえず下記のように対応してみた。 cakePHPのバージョンは、1.2R…
CakePHP 1.2.0.7125 RC1.を使ってるのですが、メール送信時にメール本文をテンプレート化してそれを読み込んで送信しようと思い、検索したところ、controllerのrenderの内容を出力するob_get_clean(); の存在を知り、いろいろやってたんですがどうもうまくい…
よくある申し込み、お問い合わせ画面の機能をCakePHPで作ってみる。 申し込み画面→確認画面(バリデーションチェック)→完了画面 という流れ。 DBの作成 moushikomiテーブルを作成 CREATE TABLE `testcake`.`moushikomi` ( `id` INT NOT NULL AUTO_INCREMENT…
Bakeでテーブル単位のCRUD系ファイルを自動生成 とりあえずbakeする bakeスクリプトを使うと、DBに対して一覧表示、新規レコード追加、変更、削除などが出来るMVCファイルを作ってくれる。 bakeスクリプトファイルは /cake/console/cake です。 DBの定義 hog…
今回は、CakePHP1.2を使います。 cakePHPの路線をあえてはずれる方法を身につけておく cakePHPは高速開発が出来る代わりに、ある程度制約を持たせています。例えばモデルやコントローラ、Viewの名前など。 最大の恩恵を受けるためにはこのような制約に沿った…
この夏、cakePHPが熱い!と勝手に思い込み、若干乗り遅れ気味なcakePHPの世界へGO! なぜcakePHPか? 別にPerlでも良かったんだけど、どんなレンタルサーバでも(DBが動いていれば)使えるし、ファイルの依存関係で色々なものをインストールするのに悩まされる…
今まで書いてた下記のブログで、 http://d.hatena.ne.jp/ichikaway cakephpの話題が多くなりそうだったので、今後はcakeネタはこちらに書いていきます。とりあえず、今までのcakephpに関する記事をコピー