0

Joomlaで遊んでいたとき!ソースコード、私はそのようなコードを見ました(またはこれに似ています、それはしばらく前だったので私はかなりわかりません):

<juc:place name="module" some-other-attributes/>

上記のように正確に言っているわけではありませんが、Asp.NETのようなカスタムタグを見たときに実際に驚いていました。

<asp:Label ID="lblLabel" runat="server"/>

私は今、Asp.NETで行ったのと同じことまたは類似したことをPHPでどのように達成するのか疑問に思っています。これなどのフレームワーク用のライブラリはありますか?

PHPコードを解析し、そのようなタグを検索して、Asp.NETが次のように対応するものに置き換えるパーサーを作成する必要がありますか<asp:Label/><span/>

私の個人的な好み:

コードビハインドをデザインビューから、またはhtmlをc#コードから分離することで、Asp.NETが行ったことを気に入っています。また、asp.netのサーバー側コントロールを使用すると、開発者はコードビハインドからhtmlコントロールに簡単にアクセスできます。関心の分離のように聞こえますが、同じことをすでに行っているプロジェクトや方法はあるのでしょうか。

4

3 に答える 3

1

または、MVCフレームワーク(Zend Framework、Codeigniterなど)を使用して、関心の分離を行うこともできます。

提案されているように、SMARTYはあなたが求めていることをほぼ実行するテンプレートエンジンですが、それは実際にはパズルの一部にすぎません。データアクセス層を抽象化することも良い考えです。

サーバー構成で短いタグを有効にすることもできます。その後、プレゼンテーションコードを次のように整理することもできます...

<html>
    <head>
    ...
    </head>
    <body>
        <?= "Hello, world!" ?>
    </body>
</html>
于 2011-11-24T05:39:41.410 に答える
1

プレゼンテーション層が実行ロジック(テンプレートエンジンなど)とは別に格納されるアプローチを使用する場合、HTMLで特定のコードを検索し、それを他のコードに置き換えるパーサーを作成するのは非常に簡単です。あなたはあなた自身の「SMARTY」言語を作ることができます。

ただし、コードがレイヤー分離のない「実行可能PHP」である場合、そのような置換を行うことはできません(PHPスクリプトエンジンによって直接実行されるため)。「実行可能php」とは、次のような意味です。

<html>
  <head>
  ...
  </head>
  <body>
  <?php echo "Hello world"?>
  </body>
 </html>
于 2011-11-24T05:32:33.710 に答える
0

SimpleHTMLDOMを試すことができます。次に、次のようなものを実行できます...

$html = new simple_html_dom();
$html->load_file(fileToParse.html');
foreach($html->find('tagToFind') as $element){
    $element->tag='span';
}

それはうまくいくはずです。

cms用のカスタムhtmlタグの作成をご覧ください。

于 2012-06-10T18:27:47.723 に答える