CakePHPでmixi Graph APIを扱うためのプラグイン MixiKit 0.1を公開しました
先の記事に書いた通り、PHP Matsuri 2010にて作成したCakePHP向けのmixi Graph APIを扱うためのプラグイン"MixiKit"をgithubにて公開しています。 ...
先の記事に書いた通り、PHP Matsuri 2010にて作成したCakePHP向けのmixi Graph APIを扱うためのプラグイン"MixiKit"をgithubにて公開しています。 ...
PHPerの祭典、PHP Matsuriに行ってきました。 PHP Matsuriとは、10月2日、3日の2日間にわたって開催された、日本最大級のPHP開発合宿イベントです。80名近い参加者が集まり、とてもホットなイベントとなりました。 どんなことが行われていたかは、私より筆のうまい他の方のレポート記事にお任せするとして、私がハッカソンで行った内容について書きます。 今回私は、他の人がまず作らないだろうなーと言うことで、先日公開されたmixi Graph APIのCakePHP向けプラグインを作ってみることにしました。 以前に、TwitterKitというTwitterを利用するプラグインパッケージを作成していたので、ほぼ同じような機能を実装することに。 APIを呼び出すDataSouceを提供する。 (DataSouceにするのは、database.phpでアプリケーション固有の設定が出来るため OAuthで認証を行い、AccessTokenをデータベースへ保存するOauthControllerを提供する 他、付随するModel、Component、Helperを提供する 以上の機能をもつプラグインを作ってサンプルアプリケーションを行うことを目標に設定しました。 会場到着後、午前中は基調講演などのセッションを聴いて、開発を開始したのは午後からでした。気になるセッションを聴きにいきながら、ちまちま環境構築してコーディング開始です。 [ad] ...
CakePHP 1.3になってからビューでのヘルパーの推奨される呼び出し方法が変わりました。 1.3以前 $html->link(); $form->input(); 1.3以降 $this->Html->link(); $this->Form->input(); コントローラとモデル・コンポーネントの呼び出し方法同様に、$this(Viewオブジェクト)の要素としてヘルパーを呼び出すようになります。 なお、以前の呼び出し方法も使えます。 今回はこの新しい書き方をEclipse PDT上で補完する方法を紹介します。 [ad] ...
CakePHPでは、モデルオブジェクトでアクセスコントロールを行う場合にAclビヘイビアを使用します。 ただし、標準のAclビヘイビアは若干クセがあり、設定しづらいものとなっています。 今回はAclBehaviorを拡張し、ACLの機能をモデルへ手早く組み込むことが出来るようにする、AclPlusBehaviorを紹介します。 [ad] ...
CakePHP 1.3.3が先日リリースされました。 早速変更点を確認していたのですが、app/config/core.phpのSession.timeoutのコメント内容が変更されており、おやっと思いました。 --- a/app/config/core.php +++ b/app/config/core.php @@ -167,7 +167,7 @@ Configure::write('Session.cookie', 'CAKEPHP'); /** - * Session time out time (in seconds). + * Session time out time (in minutes). * Actual value depends on 'Security.level' setting. */ Configure::write('Session.timeout', '120'); Session.timeoutの指定値が分として解釈されるようになった? ...
LTで発表がグタグタになってしまい、凹みまくりのnojimageです。こんにちは。 グダグダの敗因はアレですね。LTのクセに詰め込みすぎた。 もうちょっとシンプルに行けば良かったです。はい。 ...
最近やっとまともにACLをやり始めたnojimageです。こんにちは。 さて、ACLのACOを生成するのに便利なツールがCookbookに紹介されています。 10.2.6 ACO の作成を自動化するツール このツールを使うと、開発中のアプリケーションのControllerクラスから、各actionを抽出し、ACOテーブルに追加していってくれるとても便利な関数なのですが、ちょっとばかし問題があるためそのままでは使えません。 [ad] ...
とあるプロジェクトで、データベースのバックアップ用にSQLを吐き出す必要があったので作ってみました。 Sql Dumper Plugin for CakePHP 1.2+(github) プラグインといっても、1ファイル1クラスのみ。。 できること DataSourceからテーブルを取得して、Create、Drop文を生成 テーブルに登録されているデータをInsert文として生成 生成したSQLを指定したファイルへ吐き出し mysqldumpやpg_dumpの代用になりますが、SQLの生成にはCakeSchemaクラスを利用しているので、Schemaで作成したテーブル以外は正しくダンプできるとは限りません。 定義されていない型とか、トリガーとか。 [ad] ...
ちょっとバッドノウハウな気もしますが、cakephpでpearライブラリをインストール/利用する方法について。 0. ポリシー cakeのvendors配下にpearを個別インストールして、そこでライブラリの追加を行えるようにします。 windows環境の場合は適当に読み替えてください。 1. pearをvendorsへ個別インストール 既にpearが、システムへインストールされていることが前提です。 インストールされていない場合は、 lynx -source http://pear.php.net/go-pear | php curl http://pear.php.net/go-pear | sudo php 等で、インストールしてください。 (参考: pear.php.net Manual :: インストール) vendors ディレクトリに移動してpearのローカル設定ファイルを生成します。 cd vendors pear config-create `pwd` pear.conf [ad] ...
第5回CakePHP IRC集会の時にちらっと発言したネタです。 CakePHPにはメール送信用のコンポーネントとして、EmailComponentが存在しますが日本語の取り扱いの不備などから、あまり利用されていません。 メール送信のコンポーネントとしては、Qdmailという素晴らしいライブラリがあり、高度なメール配信も出来るのでそちらを利用されることをお勧めしますが、EmailComponentの拡張を作ってしまったので説明します。 AppEmailComponent オリジナルからの変更点 日本語の折り返し処理の修正(EmailConponent::__wrap()のオーバライド) 設定ファイルからの読み込み機能、メール設定の一元管理(load()メソッドの追加) ソースコード http://gist.github.com/287836 [ad] ...