Recent changes

2013-04-14 2013-04-02 2013-02-17 2013-01-29 2013-01-20 2013-01-18 2012-12-08 2012-11-06 2012-09-04 2012-08-02

php/Ethna



Smarty内で使える定数

$request_uri:クエリ付きの$script。

Ethnaってなによ

http://ethna.jpを参照。 PHP最強のフレームワーク。最強の理由は最強のプログラマが作ったフレームワークだから!

やるべきこと

  • Smartyの設定を定義できるようにする
  • Ethna_ActionForm:フォーム作成時、id自動採番+labelつける。(Haste)
  • ActionFormの内部データをSessionで扱うバージョンの作成
  • DIの導入(EthnicTea)
  • include NanoWeb

memo

include_pathに、XXXX/appとXXXX/libが追加される。 つまりよく使うクラスとかをlibにおいておくのかな。

各フォルダの役割

add-projectしたあとたくさんでてくるフォルダの意味について。

bin

最近はほとんど使われてないけどプロジェクト毎の実行ファイルを追くディレクトリ。昔はここにadd-actionとかを行うファイルがあった。 自分はここにユーティリティファイルをおいたりしている(DBを初期化するコードとか。)

lib

ここにPEARのライブラリとかいろいろなライブラリを入れる。 PEARやSmartyやEthnaなどが入っていない他の環境で動かす場合、 ここに全部つっこんでおけば普通に動く。

app

プロジェクト限定のライブラリ、クラスをここへ。Ethna_DB_PEARに独自の機能を追加した[app-id]_DB_PEARとか。

tmp

Smartyのテンプレートキャッシュやセッションなどの一時ファイルが保存されるディレクトリ。Ethna_Utilのpargeを使う事で一括削除ができる。

schema

謎です。

log

プロジェクト上のログを保存するディレクトリ。プロジェクト名.logというファイルを作って書き込みできるようにしたあと、etcでfileに書き込むように指定するとログがファイルに記録されるようになる。

template

ここにSmartyなどのRendererで利用するテンプレートファイルを設置する。デフォルトではtemplate/jaの下にあるテンプレートが読み込まれるようになっている。

www

エントリポイントなど外部に公開するデータを設置します。

新しいコマンドを追加するには

ethnaコマンドを拡張にするには、Ethna_Handleを拡張したクラスを作って、 class/Handleの下におけばよい。

Ethna_Handle_Manager

getHanderは$idを元にして対象のクラスをincludeし、Newして返す。 getHandlerListはgetHandlerしたものを配列にして返す。

フレームワーク全体の処理の順番

  • main
  • trigger
  • _trigger_www
  • preFilter
  • preActionFilter
  • Action
  • postActionFilter
  • View
  • postFilter

Ethnaについて書かれたエントリー

関連リンク


[[halt>UserPage/halt]] &size(80%){2006-02-13 00:17:52}: ご指摘助かります。くだらないメモばかりですみません><