3

+ ) を から分離するにはどうすればよいですか? php ファイルに、またはテーマ全体を含むいくつかの行を入れるようにします 。

元:

echo 
    eval_template("header") .
    eval_template("body") .
    eval_template("footer")

将来的には、phpファイルに触れずにスタイル全体を変更できます か?

4

3 に答える 3

1

これを行う方法はたくさんあります...

これは、プレーンな PHP でのテンプレート作成に関するチュートリアルです http://www.phpro.org/tutorials/Introduction-to-PHP-templating.html

そこにある多くのテンプレートエンジンを見ることもできます. 小枝はそれらの1つです:http://twig.sensiolabs.org/

于 2012-07-13T21:13:33.807 に答える
0

そのために使用できるテンプレート エンジンはたくさんありますが、私は symfony2 フレームワークに統合されている twig を使用することを好みます。

Twig は非常に使いやすく、非常に柔軟であるため、継承を使用して共通のレイアウトを作成し、特別なタグを使用して拡張したり、一部を上書きしたりすることができます。これは Symfony の Web サイトで見つけたガイドですが、twig の背後にあるロジックを理解するのに非常に役立ちます: http://symfony.com/doc/current/book/templating.html

于 2014-08-03T17:58:26.710 に答える
0

個人的には、手動で行うのが好きです。

PHP は css と html コードの両方を返すべきではありません。さらに良いことに、クライアント側のコードを返すべきではなく、特定の部分への依存関係を返すべきではありません。多くの異なる内容を含むファイルを変更したくはありません。

css+html を php コードから分離するために、私が通常行っているのは、include("..."); を使用した階層化です。および include_once("...")。例: include_once("header.php") > include("menu.php") > 現在のコンテキストに従って正しく初期化された css クラスを持つ html セマンティック。

次に、css / js 外部スクリプトを header.php にインポートして、すべてが変更されない限り、または Web サイトに追加する完全な機能がある場合を除いて、全体を変更する必要がないようにします。Web サイトのすべてのセクションで同じことが可能です。

これが役に立てば幸いです。私にとっては、重要なことはすべて一度だけ実行する必要があるため、デバッグ時間を大幅に短縮できます。その後、必要に応じて分離できます。

于 2012-07-13T21:59:04.920 に答える