ペアファイルを開く+新規作成追加

ペアファイルを開く

上記のようなアクションの場合

/app/action/Admin/Resister/Input.php

なので対応するテンプレートは

/template/ja/admin/resister/input.tpl

になります。

アクション名からテンプレート名の取得方法
  1. プロジェクトルートを探す
    • /app/action/を探して見つかった場合のみ処理をします
  2. ペアの名前を作成(ja_JP配下)
    • /template/ja_JP/(途中のフォルダ構成を小文字化)/(ベースファイル名を小文字化).tpl
  3. ペアの名前を作成(ja配下)
    • /template/ja/(途中のフォルダ構成を小文字化)/(ベースファイル名を小文字化).tpl
  4. 見つかったファイルをエディタで開く

こっちは結構シンプルにいけます。2.3と2.5で読むところが違うので両方チェック。拡張子tpl以外のテンプレートを使っている場合やja以外の場合の処理が将来必要になりますね。。。

テンプレートからアクション名の取得方法
  1. プロジェクトルートを探す
    • /template/ja/か/template/ja_JP/を探して見つかった場合のみ処理をします
  2. ペアの名前を作成
    • /app/action/(途中のフォルダ構成を先頭大文字)/(ベースファイル名を先頭大文字).tpl
  3. 見つかったファイルをエディタで開く

ほぼ一緒ですが、先頭のみ大文字に変換するのがちょっと面倒かな? まあ良くある処理なのですが、substrで泥臭く処理しています。本当は専用関数がありそうだ。。。

参考

http://d.hatena.ne.jp/toshiyuki_saito/20081103
http://d.hatena.ne.jp/toshiyuki_saito/20081031
CakePHP開発のEclipseプラグイン

この記事を参考に作らせていただきました。ペアを探すところは全部書き直しましたが、拡張ポイントなどは参考にさせていただきました。

新規プロジェクト作成でADOdbを追加

Ethnaコミッターの人などがよく使っているコネクタかな?
いろいろな言語で使えるので、そういう人にはお勧めです。

<?php
$db = $this->backend->getdb();
$query = 'select * from cd';
$rs = $db->query($query);
var_dump($rs->fields);

こんな感じで利用します。わりとシンプルな構成なはずです。今後PDOが普及してくれば普通の人はあまり使うことはないかもしれませんね。

最新版のADOdbだとzipパッケージが壊れていて一部のドライバーが入っていません!
MySQLで接続できなくていろいろソースを見てみたけれど、driverフォルダの中身が半分ぐらいになっていたので結局tgz版を利用しました。

新規プロジェクト作成でCreoleを追加

これは初見のDBコネクタでした。内部的にはJDBCに近いつくりになっているようです。

<?php
$db = $this->backend->getdb();
$query = 'select * from cd';
$rs = $db->db->executeQuery($query, ResultSet::FETCHMODE_NUM);
$rs->next();
var_dump($rs);

こんな感じのアクセスです。$rsはクラスで戻ってくるので取得用のゲッターを使って取得する必要があります。

新規プロジェクト作成でPhacoを追加

Phacoはフレームワークですね。そのテンプレートエンジンのみ利用したものになります。

<?php
$this->af->setApp('now', strftime('%Y/%m/%d'));

こうやってアサインしたものが

now:{$app['now']}
url:{$config['url']}

こんな感じで取り出せます。PHPテンプレートに近い感じですね。Phacoは継承が可能なテンプレートエンジンってことですが残念ですがあまり情報がありませんでした。

感想

明日も作業するのでプラグインの更新はしていません。しかしプロジェクトの新規作成はこの辺で終わりかな? 実は取り込みより動作検証のためにテンプレートエンジンとかDBのアクセス方法を調べる方が時間かかっていたりします(笑)

みんな情報少ないんですよね。Ethna本体に取り込まれていますが、検索しても実際の利用方法を書いているのがなかったりしますのでライブラリ本家の情報やソースファイルを見ながら探りながら書いている感じです。

そろそろスケルトンファイルから、ファイルの新規作成ウイザードも作らないとね! あとMacの操作に慣れないと。。。
WindowsXPのライセンスも1つあまっているのですが、クリーンインストール用のCDが無かったので、新規で購入かな〜