1

カスタム MVC フレームワークを使用しています。アクションの上に注釈を使用して、次のようにビューにタイトルを表示したい:

class controller {
    /**
    * @title = some title
    */
    public function action(){
    }
}

これを行うにはReflectionMethod::getDocComment、単純な正規表現を使用してコメントを使用して解析しtitle、グローバル変数として作成してビューで使用します。もちろん、これは解決策ですが、将来的には、タイトルを定義するためだけでなく、注釈を使用する必要があるかもしれないため (たとえば、モデルでルールを定義するために。Symphony のように)、非常に悪い解決策です。

私の問題は、メタデータを保存する場所がわからないことです。

4

1 に答える 1

1

フロントエンド/公開情報を docblock コメントに保存するのは良い考えではないと思います.あなたが発見したように非常に扱いにくく、あなたの後に来る他の開発者にとってはあまり直感的ではありません. システムの内部動作に関するドキュメントとメタ情報については、コメントを残しておく必要があります。

そのような情報を保存するには、データベース、ある種のクラス変数、または外部の構成/言語ファイルを使用する必要があります。さらに良い代替手段は、ページ タイトルやビューの読み込みなどを処理する何らかのテンプレート ライブラリです。これをコントローラー メソッドから呼び出して、そこで情報を定義することができます。

于 2012-07-25T14:13:10.810 に答える