2006-02-01から1ヶ月間の記事一覧

mojavi2用smartyプラグイン

http://p0t.jp/mt/archives/2006/02/action.html これ、いいですね。 個人的にはActionChainを使うよりは、一回dispatchした方がしっくり来るかなとも思いましたが。 function register ($regName, $modName, $actName, $params = NULL) { $this->actions[$r…

mojavi2のfilterの仕組み

class ExampleFilter extends Filter { function ExampleFilter () { // 定義していない場合親クラスのコンストラクタが呼ばれる } function execute (&$filterChain, &$controller, &$request, &$user) { // 既に一度呼ばれているかどうかを保持するフラグ …

interface

PHP5で追加されたinterface。 小規模開発だと使いどころがない。メタフレームワークレベルまで行くとかなり有用なんだろうけど。

config.phpの読み込まれるタイミング

http://p0t.jp/mt/archives/2005/09/mojavi_5.html 正確には$controller->forward($modName, $actName)した際ですね。 理由はExecutionFilterがconfig.phpを読み込むとタイミング的にpre-filterでconfig.phpの内容が参照出来ないからだと思います。 ちなみに…

Mojavi2のFilterの使いどころ

Mojavi2(それ以外のバージョンは知りません)のFilterは結構イマイチです。 とは言え、あれば便利なのでよく使います。使いどころとしてはGlobalFilter LogManagerの設定をするLoggerFilter(これが一番使います) $_GET, $_POSTと$requestを(デフォルトは…

なんとなくruby

前々からやりたいと思っていたRubyにこの週末からちょっと手を出してみた。 とりあえずRubyと言えば高橋さんという事で、この本を片手に勉強中です。たのしいRuby―Rubyではじめる気軽なプログラミング作者: 高橋征義,後藤裕蔵,まつもとゆきひろ出版社/メーカ…

PHPのテンプレート

php

テンプレートの中でプロパティ変数を参照する方法について、SavantやSymfonyを絡めた話題が。 http://www.mikenaberezny.com/archives/40サンプルソースを見ると、include('view://path/to/file')でopenしたのをpreg_replaceで置き換えて実行している。 それ…

Iteratorパターン

mojavi2のchainはIteratorパターンだったのか。 __cloneはPrototypeパターンの実装の為のメソッドなんだろうか。 デザインパターンはよくわからない。

PHP勉強会 in Tokyo

行きたかった。

mojavi2のキモイコードの書き方

mojavi2をキモイ使い方しています。 Actionを書くのが面倒になってきたので、最近はActionFormというクラスに全部の処理を書くようになりました。*1 さらに面倒になって呼び出されるActionすら作りたくなくなってきたので、evalで自動的にクラスを作成するよ…

Essential PHP Securityの中の人が叩かれてる

http://blog.php-security.org/archives/29-Chris-Shiflett-once-again-proves-his-poor-character.html 固定IPからWikipediaのPHPのページを編集したログが残っているとのこと。ふーん。

CSVファイルからのINSERT

php

phpMyAdminとか使えばという話ですが。 それだと話が終わってしまうので、軽めに書いてみました。 define(CSV_FILE, '/path/to/convert.csv'); $db_conn =& DBManager::getConnection(); if (DB::isError($db_conn)) { message($db_conn->getMessage()); exi…

forward先からforward元を知りたい場合

わざわざRequestに突っ込むのもアレなので、何とか方法はないかと思案中。 主にforward先からforward元のactionを取り出してメソッドを呼び出す為。 ExecutionChainの中身を見てもindexを外側から知る方法がない。 やっぱりdebug_backtraceで取り出すくらい…

get_defined_vars

http://www.bigbold.com/snippets/posts/show/1515 フレームワークを解析したりする際に便利そうですね。

firefox extensions

気づけば開発用の拡張が増えてきた罠。 忘れないようにメモ。 Translation Panel Tab Mix Plus Chatzilla Live HTTP Headers DOM Inspector FireBug Selenium IDE 拡張機能は便利ですね。

サーバサイドスクリプトの限界

今までひたすらmojavi2を極める事だけを目指してきたけど、そろそろ飽きてきた。 こういうの調べてUI系の勉強をしよう。 http://developer.yahoo.net/yui/ http://developer.yahoo.net/ypatterns/

mojavi2をwindowsで動かす

mojavi-2.0.3b2をWindowsXP+Apache2で動かそうとすると結構めんどくさいのでメモ。 mojavi-2.0.3b2をダウンロードしてきて解凍する config.phpのdefineされているディレクトリの/をDIRECTORY_SEPARATORという定数に置き換える mojavi-all-classes.phpの/をDI…

debug_print_backtrace

超便利! http://www.php.net/manual/ja/function.debug-print-backtrace.php

Mojavi2のdispatchとかをごにょごにょする

php_value auto_prepend_file /home/foo/initialize.php php_value auto_prepend_file /home/foo/dispatch.php とか.htaccessに設定しておく。 そんで、ブラウザからアクセスするindex.phpに

Mojavi2 with QuickForm

Mojavi2でQuickFormを使ったICCなコード // QuickForm require_once ('RegisterForm.class.php'); class SampleAction extends Action { function execute (&$controller, &$request, &$user) { $request->setAttribute('qform_name', 'registerForm'); $req…