2011-02-02 20 views
0

私は、プレゼンテーションロジック&ビジネスロジックを持つフレームワーク(種類の)を持っています。テンプレートがビジネスクラスに静的にアクセスするのを防ぐ

私の問題は、ビジネスロジックがメソッドを静的に呼び出すため、クラスのインスタンスが必要ないということです。これらのクラスの1つは、(いくつかの)危険な情報(DB接続情報など)を保持するConfigと呼ばれます。だから私はこれをやってからプレゼンテーションロジックをどのように停止します:

var_dump(Config::get('database')); 

答えて

1

あなたのテンプレートは、あなたがすることはできませんarbitraty PHPコードを実行する能力を持っている場合。

テンプレートが完全にサンドボックス化されているテンプレートエンジンを使用している場合を除き、信頼できないユーザーにテンプレートの編集を許可することはできません。

ただし、データベース接続情報の場合、使用した後にこれらの変数を単純に設定解除することができます。しかし、configファイルを再度読み込むテンプレートにPHPコードを書くことを止めないでください。

+0

そうです。私はTwigのようなテンプレートエンジンを調べます。 –

関連する問題