CakeFestで行われたセッションの動画がCakePHP TVで公開されていたのでまだ来日にしていないMark Storyさんのセッションの動画に字幕を付けてみました。内容はユニットテストの利点と後半はHudsonのセットアップのデモとなっています。 字幕付けをするにはちょっと動画の尺が長かったのでお見苦しい所もありますが、Markのお上品なイケメンぶりが伝わればいいかなと思います。また彼はカナダの人ですがカナダ英語は日本人の耳にも聞きやすいような気が少ししますね。
CakePHP 1.2 RC3を利用しています。 前に書いた記事 よくある確認画面でのhiddenデータの持ち回り で、自作ヘルパーを呼び出す際に、引数にモデル名を入れて、POSTされた該当モデル名のデータを展開してhiddenにセットしていたのですが、引数に何も指定せず、POSTされたデータ全てをhiddenにセットしたほうが良いと思い改良しました。 コメントくれた方ありがとうございました。 下記、改良したヘルパーです。再帰にしようか迷ったけど、3階層以上になることが想定できなかったので、foreach3回にしました。 追記:3階層以上の対応はこのヘルパーをお使いください。https://github.com/ichikaway/cakeplus/blob/master/views/helpers/formhidden.php app/views/helpers/formhidden.p
CakePHP1.3からは、TimeHelperでi18nFormat()というメソッドが使えます。 http://book.cakephp.org/ja/view/1566/View-と-Helper 概要 このメソッドは、strftime()の書式を与えると、アプリケーションのロケール情報に基づいて日付・時刻を返します。 setlocale()してからstrftime($this->Time->fromString($time))するのと何が違うの? この機構の素晴らしいところは、アプリケーションレベルでローカライゼーションの制御ができるということです。 と言ってもよくわからないと思うので、実際に使えるところまでのチュートリアルを示します。 LC_TIMEファイルの設置 まず、このメソッドを使うにあたって、LC_TIMEファイルを設置しなければなりません。 これはubuntuやdebi
CakePHPの1.3rc版がリリースされたので、ぼちぼち試しています。 1.2→1.3のマイグレーションガイドなどを見ながらやってみたら、いろいろと変更しなきゃならない点はありましたが、とりあえずエラーが出なくなるところまでは移行できてきました。 今回は、新しく追加になったJs Helperをちょっと使ってみました。 今までのCakePHPでは、AjaxヘルパーなどでPrototype.jsを使っていましたが、今回のアップデートで新しくなったJs Helperは、使うJavascriptライブラリを選ぶことができます。現時点で標準で対応しているのは jQuery、Prototype/Scriptaculous、Mootoolsで、コントローラからエンジンを選ぶことでどのライブラリを使うかを選択できます。 var $helpes = array('Js'=>array('Prototype
こんにちは。 今週末、GALAXY Sを買うFusicサクこと桜川です。 ついに自分もスマートフォンにランクアップです。 さて、今回は前回と同じくCakePHPになります。 「PartialHelper」というヘルパーを作成しましたのでご紹介させて頂きます。 CakePHPはコントローラーに特化したelementを作りにくいと思ったことはないでしょうか? たとえば、shopsコントローラー内のみで使うelementを作る場合 /app/views/elements/shop_form.ctp とか、 /app/views/elements/shop/form.ctp といったような名前やディレクトリ名を付ける必要があります。 これが1個2個くらいなら問題ないのですが、大規模案件になってくるとelementの数も膨大で管理が大変だったり、elementの名前を考えるだけでも大変になったりしま
CakePHP Advent Calendar 2010 はみなさんのノウハウがいろいろと知ることができてほんと楽しいですね。 18日目のhaltさんのauthkittenプラグインで子猫認証 (CakePHP Advent Calendar 2010 18日目) を引き継いで、19日の記事となります。 ※本日の記事は CakePHP 1.3.6 がベースになっています。 ControllerからModelを使用する方法ですが、一番手軽なのはControllerの「usesプロパティ」だと思います。 usesプロパティは以下の流れでモデルをロードします。 Dispatcher#dispatch (webroot/index.php) Dispatcher#_invoke (cake/dispatcher.php) Controller#constuctClasses (cake/libs/
CakePHP1.3でテストをしようとすると以下のようなエラーが表示された。 Warning (2): htmlentities() [function.htmlentities]: charset `ANSI_X3.4-1968' not supported, assuming iso-8859-1 [CORE/cake/tests/lib/reporter/cake_html_reporter.php, line 376] そもそもなんで「ANSI_X3.4-1968」みたいな文字コードセットしているのか良くわからないんだけども、コードを追っていったらこんなことじゃなかろうかと。 # /cake/tests/lib/reporter/cake_html_reporter.php function CakeHtmlReporter($charset = 'utf-8', $para
・コンポーネントつくるよー App::import('Core', array('Xml', 'HttpSocket')); class AmazonComponent extends Object { var $params = array( 'Service' => 'AWSECommerceService', 'AWSAccessKeyId' => 'HOGEEEEEEEEEE', //アクセスキー 'AssociateTag' => 'aaa-22' //アソシエイトのタグ ); var $sKey = 'HIMITSUGIRLTOPSEACRET'; //シークレットキー(最近導入されたアレ) var $baseUrl = 'http://ecs.amazonaws.jp/onca/xml'; //comでもjpでも好きにしたらいいさ /** * signature作成 */ f
知っている方はもう対策済かもしれませんが、Authはデフォルトでは全フィールドをセッションに保存するようです。 で、フィールドの指定がないかソースを追ってみたところ、 $this->Auth->userScopeでconditionは指定できるようですが、どうも find(‘first)を行っているようでフィールドの指定が出来そうにない。。。 で、しょうがなく?Userモデルで対応することに。。。 function find($type, $params = array()) { switch ($type) { case 'first': $fields = array( 'fields'=>array('id','group_id','username') //必要なフィールドのみ指定 ); $params = am($fields,$params); return parent::f
これはCakePHP Advent Calendar 2010の6日目の記事です。 CakePHP Advent Calendarって何?という方はこちらへ。 CakePHP Advent Calendar 2010を開催! CakePHPに関するtipsを1日1つ、順番に紹介するということなので、私はGitとCakePHPの活用について書きます。 恐らく、これはCakePHPに限らずあらゆるフレームワークで有効なtipsです。 CakePHPを初めとするフレームワークを長く使っていると、色々と面倒なことが起きてきます。 フレームワークのバージョンアップ 外部ライブラリのバージョンアップ 複数プロジェクトにおけるコードの共通化 “フレームワークのバージョンアップ“は重要です。 先日、こんなバグも発見されましたしね。 CakePHPのPHPコード実行の脆弱性を使ってCakePHPを焦が
概要 CakePHPのFormヘルパーのdatetimeのパラメータをいっつも忘れてそのたびにFormヘルパーのソースを調べるのが馬鹿らしくなってきたのでここら辺でメモしておきます。 パラメータ FormHelper::datetime($fieldName, $dateFormat = ‘DMY’, $timeFormat = ’12’, $selected = null, $attributes = array(), $showEmpty = true) $fieldName: モデル.フィールド名。いつもどおり。 $dateFormat: 年月日の並び順。不要な場合は”NONE”を指定。そのほかは以下のとおり。 “DMY” “MDY” “YMD” $timeFormat: 時間の表示形式。”12″もしくは”24″。不要な場合は”NONE”を指定。 $selected: 初期選択値の指
CakePHPでDBに関連しないパラメータはヘルパーで書くべきか? (Re:CakePHP修行! | idea*idea) 2007-06-28 CakePHP修行! | i d e a * i d e aが更新されました。少々長くなるので2回に分けます。 まずはURIについて。 初期状態のURIの規則は /コントローラー名/アクション名/パラメータ1/パラメータ2... モックアップ画面をいろいろ作る(CakePHP修行 #010)より。 URL的には http://www.codexcode.com/users/25 とかかな。 単なる書き間違いのような気もしますが、空気を読まずにつっこんでいきます。 Cake(けーく)の初期状態でのURIの規則は /コントローラー名/アクション名/パラメータ1/パラメータ2... なので、このURIは使えません。RewriteRuleや app/co
ただ、途中で止めて、自分でセットした(つもり)値が本当にセットされているか、確認したいという欲求を満たしてはくれません。 そこでEclipse+PDT+Xdebugによるデバッグです。 Eclipse+PDT+Xdebugのデバッグ 1.ブレークポイントの設定 ブレークポイントを予め設定します(ブレークポイントを設定しなくても1行づつ進めることでデバッグできますが、CakePHPのようなフレームワークでは、自分の書いたコード以外の処理が多く、現実的ではありません)。ソースの右余白部分でダブルクリックすることで、 ブレークポイントの設定⇔ブレークポイントの解除 が切り替わります。 2.デバッグの設定 実際にデバッグするためには、設定が必要です。 次の設定は、トップ画面から始めることを想定していますが、CakePHPでは、URIに意味を持っている(処理やパラメータ)ので、途中から始めることも可
Ktai Library 勉強会に行ってきました。 といっても、第1回が3月8日(月)で第2回が4月16日(金)でしたので、もうかれこれ1ヶ月近く経とうとしていますが。。。 でも、ちっちゃいことは気にしないで、両日を通して学んだことをまとめつつ、感想などを。(遅ればせながら) 準備編 せっかく作者の@ecworks_masapさんが来るわけですから、できるだけ準備をしておこうというわけで、とりいそぎセットアップを。 CakePHPは1.2を使用しました。 (当日聞いたら1.3でも普通に使えるということで、第2回からは1.3を使用) Ktai Library は、今後のバージョンアップに備えて、gitで持ってくる。 $ git clone http://github.com/MASA-P/KtaiLibrary.git (app/vendors/ecw となるように、KtaiLibra
Use no more than 255 charactersRecent Posts CakePHP1.3.6のインストールでPCREのチェックで引っかかる 日本発NoSQL パナソニックがオンラインゲーム特化の携帯ゲーム機? Aptana Studio 3でWeb制作 オンラインゲームサービスでのISPの選び方 Archives November 2010 (2) October 2010 (1) September 2010 (2) August 2010 (5) July 2010 (15) June 2010 (2) Categories iPhone (1) Mac (3) Uncategorized (2) オンラインゲーム (10) ガジェット (3) クラウドサービス (2) データセンター (1) ネットワーク (1) 作業記録 (8) Apache (1) Ap
2012/5/26 追記と修正を行いました よくあるパターンの割に、Eclipse(PDT)での解説しかないので、今後利用する人のために手順を残しておく。 確認した環境は以下の2つだ。 MacOS X(Snow Leopard) + NetBeans6.9.1 + CakePHP1.3 + xdebug2.1.0。ApacheはMAMPではなく、MacPortsでインストール MacOS X(Lion) + NetBeans7.1.2 + CakePHP1.3 + xdebug2.2.0。ApacheはLion標準。PHPはHomeBrewでインストール PHPにpearを組み込む xdebugのインストールにはpeclコマンドを利用するのだが、MacPortsで何も考えずにPHPをインストールすると、pearがサポートされない形になっているので以下のようにして、pearを組み込む。 su
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く