1

このようなことは以前に何度か尋ねられ、答えられたことは知っていますが、単にその考えを簡単に理解できないか、物事が本当にこのようなものであることを受け入れるのが難しすぎるだけなのでしょうか.

HTML はクライアントで面倒な作業が行われるフロントエンドに使用され、PHP は舞台裏 (サーバーサイド) で動作していることを私は知っています。非常に多くの規制、指示、基準などがある..私はすでにこれらのものと自分自身を混同していると信じていた. ..

とにかく、私は MVC の概念に基づいて Web アプリケーションを作成しましたが、トピックの強力な基礎やフレームワークは使用しませんでした。ロジック、ルール、および設計の問題を自分で分離しました。

残念ながら、私は物事を行う正しい方法、これをどのように実装するべきかなどに似たいくつかの問題に巻き込まれました...

HTMLをテンプレート化する必要がありますが、HTML自体をHTMLとして使用しているため、以前にPHPを使用したときとは異なり、影響を受けるすべてのファイル(Webページヘッダーなど)を更新/編集する必要があります。文字通り.php拡張子のファイルで、テンプレートを完全に利用できますが、HTMLを壊すため、良い習慣ではないことをどこかで読みました。 .php に移動してからテンプレート ページを作成しますか、それとも HTML でそのようなことを行う方法はありますか? もしあれば、どうすればそれを行うことができますか?

フレームワークを勉強する前に、まず基本的なことを理解したいのですが...

どなたかお願いします...

編集...これは問題なく、欠点はありません... main.php

 <?php php stuffs ?>
 <html>
 <body>
  HTML stuffs and some <?php php stuffs ?>
 </body>
 </html>
4

5 に答える 5

4

HTML にはテンプレート機能がありません。

フレームと iframe がありますが、重大な欠点があり、インクルード機能しか提供していません。

適切なテンプレート言語を使用する必要があります。これは、クライアント、サーバー、またはビルド システムで実行できます。

クライアントで実行しないことをお勧めします。訪問者 (検索エンジンのインデクサーを含む) が満たさなければならない不要な依存関係が追加されます。

PHP がその役割を果たします (プログラミング言語とテンプレート言語の境界をまたいでいます)。私の個人的な好みはTemplate-Toolkitです。

TT は、ttree ユーティリティを使用してビルド システムで実行することも、サーバーで実行することもできます。それを使用して Web サイトを構築する方法をカバーするチュートリアルがあります。

サーバー側の要件がより厳しい Web サイトの構築に移行する場合は、サポートされている TT を引き続き使用できますが、ほとんどの Web フレームワークは Perl ランド (TT のダンサー モジュールや TT の触媒モジュールなど) で使用できます。これらのリンクはモジュールのハードコード ドキュメントに移動することに注意してください。フレームワークのいずれかを使用する予定がある場合は、より高いレベルのチュートリアルから始める必要があります)。

于 2012-08-30T10:18:52.890 に答える
0

Modestは、HTMLのように見えると思われるテンプレートシステムです。

于 2012-09-01T20:20:05.293 に答える
0

PHP で HTML テンプレートを作成する最も一般的な方法は、次の一般的なテンプレート エンジンのいずれかを使用することです。


または、HTML に のようなプレースホルダーを配置することもできます<% variablename %>。HTML をロードするだけで、正規表現を実行してすべてのプレースホルダーを見つけ、それらを対応する変数に置き換えます。


または、HTML をロードし、それをDOM ドキュメントとして解析してから、DOMを変更することもできます。jQuery に似た構文でこれを実行できるようにライブラリDOM Queryを作成しましたが、バニラ PHP または他のいくつかのライブラリの 1 つを使用することもできます。


または、フロントエンドで JavaScript を使用して HTML テンプレートを作成することもできます。フロントエンドとバックエンドの両方で HTML テンプレートを使用する場合は、 Mustacheの使用を検討することをお勧めします。Mustacheテンプレートはフロントエンド (JavaScript を使用) とバックエンド (PHP を使用) の両方で使用できるためです。

于 2015-11-23T10:08:24.333 に答える
0

HTML はマークアップ言語です。つまり、テキストをマークアップしてユーザーに表示できます。

たとえば、日付の更新など、Web アプリケーションで必要になる可能性のある動的な型の機能は実行できません。

したがって、ユーザーに表示される大量のテキストである Word 文書を考えるのと同じように、HTML 文書を考えるのが最善です。

テンプレートを使用して動的な情報 (データベースから取得したものなど) を表示したいと思うとすぐに、スクリプト言語が必要になります。これにはPHPが適しています。

PHP テンプレート エンジン であるSmartyの使用経験は豊富です。


余談ですが、フレームワークを学習することは、基本を学習する上で非常に役立ちます。ほとんどのフレームワークは、良い方法で物事を行うように強制します。また、コードに記述させる内容が少し奇妙または非論理的に見える場合もあります。ある日突然お金が落ち、強制された理由に気付くでしょう。することは、エンジニアリングの観点からは健全です。

于 2012-08-30T10:22:08.160 に答える
0

@ javascript テンプレートを見ることができます。http://mustache.github.com/を試してみることをお勧めします。

于 2012-08-30T10:23:28.780 に答える