2012-07-25 147 views
1

我使用自定義的MVC框架。我想用上面的動作標註在視圖中顯示標題,如:如何處理註釋?

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

要做到這一點我使用ReflectionMethod::getDocComment,然後用簡單的regex分析評論,使title爲全局變量,在我看來,使用它。當然,這是一個解決方案,但非常糟糕,因爲將來我可能需要使用註釋,而不僅僅是定義標題(例如,定義模型中的規則,就像Symphony一樣)。

我的問題是,我不知道在哪裏保存元數據。

+0

爲什麼不使用現有的註釋解析器?你重新發明輪子嗎? (當然,我也可以問你關於你的MVC框架;)) – KingCrunch 2012-07-25 14:10:27

+0

@KingCrunch這個框架是我在業餘時間爲了娛樂和改善自己而做的項目。關於註解解析器也是一樣。 – Leri 2012-07-25 14:12:47

回答

1

我不認爲將一個前端/公共信息存儲在docblock評論中是一個好主意,它在發現時非常笨拙,對於其他跟隨你的開發者不太直觀。對於系統內部工作的文檔和元信息應保留註釋。

要存儲這樣的信息,您應該使用數據庫,某種類的變量或外部配置/語言文件。一個更好的選擇是某種模板庫來處理視圖加載的頁面標題,然後您可以從控制器方法調用並在其中定義信息。

+0

+1用於提示模板庫,但我想在MVC 3.0以後的模型中主動使用註解。我在解析註釋時沒有問題,我只是不知道保存它們在哪裏更好。 – Leri 2012-07-25 14:26:55