3

私は Kohana 3.3 でアプリケーションを構築してきましたが、最近、開発を Coda 2 (テキスト エディター) から PhpStorm 6 (IDE) に切り替えました。

PhpStorm 6 は、潜在的なコードの臭いを指摘するのに非常に便利です。マジックメソッドを使用してデータをビューに添付することから、__set($key, $value)代わりにメソッドを使用するように移行するよう促されましたbind($key, $value)

PhpStorm 6 が不平を言っているもう 1 つのことは、フィールドを動的に宣言していることです。

をサブクラス化Controller_Templateし、ビューを次のようにテンプレートにアタッチしています。

public function action_index() {
    # Create the view
    $view = View::factory('project/list');

    # Attach the view to the template
    $this->template->content = $view;
}

どうやら、content動的に宣言されています。私はクラスの階層構造をチェックしてきましたが、contentどこにも宣言されているプロパティが見つかりません (したがって、動的であると思います)。これはコードの匂いですか?動的宣言は悪いですか?contentプロパティをどこかで明示的に宣言できますか?

そのままで、コードは機能します。なぜPhpStorm が私に通知を出しているのか、そして私が物事を正しい方法で行っているかどうかを理解したいだけです。

4

2 に答える 2

1

Kasyxが提供している回答に情報を追加したかった. 彼の言うことはすべて正しいですが、動的な型付けが嫌いな場合や、ビューの動作を明確にしたい場合は、kohana に変数を設定する代替手段があります。(テンプレートは単なる別のビューです;))

set()関数 ( docs )を使用してビューに変数を設定することもできます。

$view->set('foo', 'my value');
于 2013-05-17T07:11:59.960 に答える