ethnaAdminにPDOアクセスとテンプレート選択追加
PDOでの接続とテンプレートエンジンの選択を追加しました。
DBコネクタ
上の2つはEthnaでの利用実績があり、PHP4でも利用できるものです。PDOでのアクセスが今後は増えてくると思うのですが、なかなか移行していきませんよね。。。
Doctrineとかにも興味があるのですが、時間がないのでもう少し落ち着いてかな。でもsymfonyではサポートされているみたいですね。
テンプレートエンジン
PHPテンプレートと呼んでいいのかは微妙ですが、PHPでごりごり書けます。Flexyの方は楽しそうですがまだ利用実績が少ないと思いますので実務で使うのには少し手間がかかりそうです。
rhacoとかも選択肢としてありましたが、rhaco自体がフレームワーク?と思ったので今回は入れていません。
上記以外にも何かいいのがあれば入れて行きたいと思いますが、有名なのはこれぐらいかな? あまり増やしてもサポートしていけないですし、迷っちゃいますよね(笑)
利用例
PDO
<?php $dbObj = & $this->backend->getDB(); $dbObj->begin(); // start transaction $table_name = "table1"; $queryArray = array( "key1" => "value1", "key2" => 3, ); $whereArray = array( "key3" => 3, ); $dbObj->update( $table_name, $queryArray ); $dbObj->commit();
基本的にごりごり直接PDOを操作します。あまり変にラッピングしない方が便利ですよね。
http://dozo.matrix.jp/pear/index.php?Framework%2FEthna%2FPDO
こちらのページから利用させていただいています。
PHPテンプレート
<?php <div id="header"> <h1>Tttt</h1><?php echo( $this->ctl->client_encoding ) ?> </div>
こちらもPHPでごりごり書いていきます(笑)
実はapp以下のデータを取るのは簡単なのですが、client_encodingなどのシステムの内部にあるデータを取るのはどこから取ればいいのか調べるのが大変だったりします。。。
実際に利用する場合には、上記みたいにctlとかを直接さわるのは危険ですのでappなどに明示的に追加した方がいいと思います。
http://d.hatena.ne.jp/maru_cc/20080413
こちらのページから利用させていただいています。
実は他の作者のPHPレンダーがあったので、そちらを元に改造して動くようにしたのですが、上記を後で発見してこちらを利用しました。
RSSで購読しているページなのに。。。見た記憶はあったんだけれどなー(笑)
HTML_Template_Flexy
<?php <link rel="stylesheet" href="{config[url]}css/ethna.css" type="text/css" /> </head> <body> <div id="footer"> Powered By <a href="http://ethna.jp">Ethna</a>-{constant(#ETHNA_VERSION#)}.
んーん、こいつはよくわからないけれど、入れてみた(笑)
みたところJavaっぽい感じのテンプレートですね。
このテンプレートエンジンでclient_encodingを取得することができませんでした。。。appか専用の名前で入れておけばいいと思うのですが、今回本体には無改造をコンセプトにしていますんで。。。