2

PHP テンプレート エンジンを高速でユーザー フレンドリーにするアイデアを思いつきましたが、それが良いか悪いかはわかりません。

アイデアは、偽のテンプレート エンジンを作成することです。コントロール パネルでテンプレート エディターを作成し、ユーザーに次のようなものを表示させます。

<html>
  <head>
   <title>{title}</title>
  </head>
  <body> {content} </body>
</html>

エディターが実際に行うことは、すべての php コードを次のように置き換えることです。

<?php echo $this->title; ?>

ユーザーフレンドリーに

{title}

しかし、ユーザーがテンプレートを実際に高速な純粋なphpテンプレートとして保存したときに、ビューだけでそれを実際に置き換えるわけではありません。

問題は、これは良いアイデアですか、それとも悪いアイデアですか?

あなたの答えは高く評価されています。

4

2 に答える 2

1

アイデアは悪くなく、おそらく新しいものでもありません。テンプレート エンジンとして純粋な PHP をずっと愛用してきました。もっとユーザーフレンドリーに見せたいという考えは、私の正直な意見では良い選択です。しかし、これはまさにあなたの質問の問題です。それは主観的です。コントロール パネルを作成できた場合、ビューで PHP を非表示にするかどうかは、スタイルと個人的な意見の問題です。

幸運を。

于 2012-11-10T04:37:31.287 に答える
1

これは、さまざまなテンプレート ライブラリの概念です。つまり、html と css に精通していて、php の知識がほとんどまたはまったくない人向けに{varname}( と比較して) などの骨抜きの表記を使用すると、理解が容易になります。<?=$varname?>

もちろん、これらのシステムの多くは、ループと条件文の表記法もサポートしていますが、実際にどのくらいの違いがあるのでしょうか? これらのシステムが特定の「タグ」で何らかのタイプの属性またはパラメーターをサポートしていることは珍しくありません。この簡略化された表記法を採用しているライブラリは非常に多くありますが、PHP 以外の構文の方が理解しやすいと考えている人もいます。

これには、ループ制御表記法、条件文などをサポートしたい場合に、独自の表記法を発明しなければならないというトレードオフが伴います。システムが単なる変数置換を提供し、それがたとえば電子メールをカスタマイズするためのものである場合、それは本当に良い考えかもしれません. 一方、このレベルの知識を持って Smarty のようなものを再発明しようとしている場合は、独自のシステムに深く入り込む前に、既存のテンプレート ライブラリの 1 つまたはいくつかを一通り調べることをお勧めします。エンドユーザーの観点からだけですが、ライブラリの実装 (php コード) についても同様です。

もしかしたら、smarty やその他のテンプレート ライブラリを中心にクールな GUI を構築することになるのでしょうか?

于 2012-11-10T04:44:51.697 に答える