CakePHP クリスマス勉強会に参加してきました

久しぶりに勉強会に参加させて頂きました。 プレゼント交換あり、ケーキ&シャンパンのカフェタイムあり、もちろん濃い技術話もあり、ととても楽しい時間をありがとうございました。 聞いただけで終わりにならないよう、メモを公開します。 ■cakephp3の話 [t…

「体系的に学ぶ 安全なWebアプリケーションの作り方」

徳丸さんが書かれた「体系的に学ぶ 安全なWebアプリケーションの作り方」が3月に発売されます。 「体系的に学ぶ 安全なWebアプリケーションの作り方」3月1日発売です - ockeghem's blog 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原…

複数ファイルアップロード

一部のブラウザで可能な複数ファイルアップロードをした場合の処理をやってみた。view側の記述 Form->input('Model.filename', array('type' => 'file','multiple'=>'multiple')); ?>出力されるタグ <input type="file" name="data[Model][filename]" multiple="multiple" id="ModelFilename" />controllerでいつもの$this->data[Model]で受け取れるのを…

EmailComponentを使ってメール送信

cake1.1の頃にあったEmailComponentはまともに使えなかったけれど、1.2からはマシになったと話を聞いていたので、1.3の環境で試してみた。参考サイトはこちら http://koshikawa.net/tp/promenade.cgi?id=24 EmailComponentの使い方。htmlメール&テンプレー…

hasAndBelongsToManyなテーブルでpaginate

cakephpのアソシエーションは便利ですが、マニュアルには詳しく書いてなかったので解決に時間がかかりました。 hasAndBelongsToManyな関係のテーブルがあった場合 書籍とタグの関係で、書籍名とタグで検索したい、という場合。 books id name books_tags id …

PHPカンファレンス2010

亀本さん挨拶 名前ではなくハンドルを名乗った! GREE青柳さん 3000万人利用を目指す 目標はNintendoDS? 30代以上で40%くらい オープン化 ソーシャルゲーム市場は数千億円規模に。。。? ソーシャルゲームはスモールスタートが可能->運用は重要度高い ゲーム…

cakePHP1.3 管理者アクション

久々の新規案件のためやっとcakePHP1.3を触れるようになりました。 実は1.2も実務では使っていなかったため、いろいろと戸惑うことばかりです(汗) まずは、管理者アクションからと思い、確かadmin_routingとかがあったな、と検索。 CakePHP 管理者用アクショ…

Model->bindModel()

アソシエーションの定義は、最低限しか書かず、必要になったときに動的に追加することができる。とはいえ、つい忘れてしまうのでメモ。 class User extends AppModel{ function getAll(){ $this->bindModel(array('belongsTo' =>array('Company'))); return …

第5回 CakePHP IRC集会に参加した

昨夜行われた第5回 CakePHP IRC集会に参加しました。 codecheck.inIRC自体が初めてだったので、戸惑いがあったものの、とても楽しく参加できました。話題に上ったのはこのあたりです。id:cakephperさんが、あとで素敵にまとめてくれると思うので簡単に。 cak…

PHPカンファレンス2009

快適な環境 ちょっと遅刻して到着。 鈴木さんの挨拶の途中で入室しました。 遅刻して申し訳ありません。会場のORACLEセンターは快適で、電源もあるし無線LANも使える! テーブル席の空いている前のほうに席を確保しました。 NetCommons 機能がたくさん! 確…

複数のDB使用時の/app/tmp/cache/models

CakePHP が持つキャッシュ機構。 テーブル定義がキャッシュファイルとして、/app/tmp/cache/modelsフォルダに作成される。core.phpに定義するdebugレベルによって、キャッシュの有効期限が変わり、debug=0の場合はtable変更を行っても反映されないという記事…

第4回CakePHP勉強会@Tokyo 感想

書くのが遅くなりましたが、前回第4回CakePHP勉強会@Tokyo - Do you CakePHP はてな書いたとおり、5月22日に参加してきました。 第4回CakePHP勉強会@Tokyo - events.php.gr.jp 第2回、第3回と参加してたので続けて3回目の出席でした。 開始前の様子 開始10分…

第4回CakePHP勉強会@Tokyo 滑り込み成功

当日キャンセルが出て無事に滑り込み成功しました。 第4回CakePHP勉強会@Tokyo - events.php.gr.jp さて準備、準備!

第4回CakePHP勉強会@Tokyo

すっかり放置していました。すみません。 第4回CakePHP勉強会@Tokyo 久しぶりに、勉強会に参加したいな〜と思っていましたが、参加受付のタイミングが合わず(汗)一旦は諦めたのですが、LT枠が残っているので何かネタがあるかな?と思い出しつつ、運営の id:y…

$html->checkboxのバグ?

cakePHP1.1での動作なので1.2でも同じかどうかは未確認です。 htmlヘルパーを利用してタグを出力する事が多いのに今まで気づかなかったのが不思議でもあるのですが。 通常パターンであれば問題ありません。 (例) $html->checkbox('User/active_flag'); しか…

CakePHPハンズオン@Tokyo

CakePHPハンズオン@Tokyo - events.php.gr.jp講師はお馴染みのid:yandodさん。 前回のCake勉強会は速攻で定員いっぱいになりましたが、まだ1席分残っているようですので、興味のある方はお早めにどうぞ。。。

PHPカンファレンス2008

今年初めてカンファレンスに参加してきました。 日本 PHP ユーザ会 (Japan PHP Users Group) :: メイン :: PHPカンファレンス2008 - メインページ 前日まで行けるとは全然思ってなかったのですが、家庭の事情が思いがけず解決し、朝から夜まで全部(?)参加…

PhwittrのURL

CakeらしいURLにしようかと考え始めたら、悩みすぎて結論が出なくなってしまいました(ーー;)twitterのURLそのままでもいけるかな?と最初はのほほんとしてたのですが、真面目に考え始めるとちょっと都合の悪い面が見えてきて、一部変える必要はあるのだけれ…

第3回CakePHP勉強会感想

第3回CakePHP勉強会に行ってきました。主催のid:yandodさん、及び関係者の皆様、準備&運営ありがとうございました。 前回行ってきました「第2回CakePHP勉強会」 - Do you CakePHP はてなに勝る人気振りで今回は遠方からの参加者が多くて驚きました。 引き続…

第3回CakePHP勉強会エントリー成功

今日は第3回CakePHP勉強会の募集当日。前回もあっという間のエントリー終了でしたが、今回は更に早かったです。 開始から10分ちょっとで全ての枠が埋まってしまいました! 全力でエントリー成功:) 当日を楽しみにしています。

第3回CakePHP勉強会

第3回CakePHP勉強会が告知されました。前回はあっという間に枠が埋まってしまったので、全力でエントリーしなくては… いつも質の高い勉強会を開いて頂き、ありがとうございます(^^) 今回も楽しみにしています。

httpd.conf編集

Apache配下のhttpd.confを環境に合わせて書き換えて、Apacheの再起動。 無事にCakeの初期画面(?)が出ればとりあえずOK。(DBは未接続)

/app/conf/database.php

CakePHPをインストールしたディレクトリの中のapp/confにあるdatabase.php.defaultをdatabase.phpにリネーム(名前変更)します。(元のファイルを残したい場合は、コピーしてリネームする)データベース接続に必要なパラメータを書き換えます。 class DATABASE_…

CakePHP設置

本家を見ると1.1の最新版が1.1.19.6305に上がっていたので、これをダウンロード。 解凍して今回のFramework Fight 用のフォルダに配置。 開発で手を加えるフォルダは主に/app/config,/app/controllers,/app/modelsの3つ。課題ではAJAX必須って書いてあった…

DB準備

まずはMySQLにrootでログイン。 c:\>mysql.exe -u root -p Enter password: *******DB作成。 mysql> create database ff default character set utf8; データベース名はFramework Fightを略してff。ん〜安易だ(笑)次はユーザ作成 mysql> grant all on ff.* t…

PHP Framework Fight 着手

PHP

やっと重い腰を上げて着手しました。 開発過程をなるべく書いておこうと思いますが、止まってたらツッコミいれてください^^; MySQLとPHPは既にあるので、インストールは省略。 id:vegnzは既に進捗率50%って書いてる!すごいです。。。

PHP Framework Fight! 参加します

【告知】PHP Framework Fight! (仮)開催告知 - 肉とビールとパンケーキ by @sotarokCakePHPで参加することにしました。 #もう後戻りはできない。。。 1.2で参戦検討中というコメントに気づかずすみませんでした。 id:vegnzさん、1.1と1.2で分かれて一緒に参…

面白そう!

【告知】PHP Framework Fight! (仮)開催告知 - 肉とビールとパンケーキ by @sotarok面白そう! こういう比較ってそう簡単にできることじゃない。 参加してみたい。。。 CakePHPは1年以上使ってるけど、他の錚々たるメンバーの中で参戦できる力があるのだろう…

Cake1.2でユニットテスト(続々)

自分でテストケースを記述する場合について。自動生成されたテストケースの中身を参考にします。 TestObject = new CustomersController(); } function tearDown() { unset($this->TestObject); } /* function testMe()…

Cake1.2でユニットテスト(続)

前回表示させた画面 リストの4番目「App Test Cases」をクリックするとテストケース一覧が表示されます。テストケースは/app/testsに保存するルールになっていて、bake時に生成されるテストケースもここに保存されています。(例:customers_controller.php…