グループプロジェクトの場合、言語の経験が少ない人が HTML で {name} などのタグを使用できるように、PHP 用のテンプレートエンジンを作成しようとしています。PHP はそのタグを配列から事前定義された変数に置き換えます。ループをサポートするだけでなく。
これはプロジェクトの予想をはるかに超えていますが、私は PHP の経験があるので、忙しくしておくのは良い挑戦になると思いました!
私の主な質問は、パーサーのループ部分をどのように行うか、そしてこれがそのようなシステムを実装するための最良の方法であるかということです。既存のテンプレート システムを推奨する前に、経験のために自分で作成することをお勧めします。これは、プロジェクトのすべてが独自のものでなければならないためです。
現時点では、正規表現と preg_replace_callback を使用して基本的な解析が行われ、$data[name] が存在するかどうかがチェックされ、存在する場合は置き換えられます。
さまざまな方法でループを実行しようとしましたが、正しい軌道に乗っているかどうかわかりません!
解析エンジンに与えられたデータの例は次のとおりです。
Array
(
[title] => The Title
[subtitle] => Subtitle
[footer] => Foot
[people] => Array
(
[0] => Array
(
[name] => Steve
[surname] => Johnson
)
[1] => Array
(
[name] => James
[surname] => Johnson
)
[2] => Array
(
[name] => josh
[surname] => Smith
)
)
[page] => Home
)
そして、解析していたページは次のようなものでした:
<html>
<title>{title}</title>
<body>
<h1>{subtitle}</h1>
{LOOP:people}
<b>{name}</b> {surname}<br />
{ENDLOOP:people}
<br /><br />
<i>{footer}</i>
</body>
</html>
次のようなものが生成されます。
<html>
<title>The Title</title>
<body>
<h1>Subtitle</h1>
<b>Steve</b> Johnson<br />
<b>James</b> Johnson<br />
<b>Josh</b> Smith<br />
<br /><br />
<i>Foot</i>
</body>
</html>
あなたの時間はこれで信じられないほど高く評価されています!
どうもありがとう、
Ps私は、経験のためにすでに存在するものに似たものを作成しようとしているため、適切にフォーマットされた理解しやすい質問が反対票を投じられることに完全に同意しません。
Pps このトピックについては非常に多くの意見が飛び交っているようです。反対票を投じないでください。彼らはあなたとは異なる意見を持っているからです。誰もが自分の権利を持っています!