0

(プリアンブル: 私は PHP を初めて使用します。C# のバックグラウンドを持ち、非常にクリーンなコードに慣れています。現在、テーマを購入した自分の Wordpress サイトに取り組んでいます。)

WordPress テーマでこのタイプのコードを見たことがあります。

<a href="<?php echo esc_url( home_url( '/' ) ); ?>"><img src="<?php echo esc_url( $logo ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" id="logo"/></a>

リファクタリングされたものと比較して、これは非常に読みにくいと思います。

<?php
            echo '<a href="';
            echo esc_url( home_url( '/' ) ); 
            echo "><img src=";
            echo esc_url( $logo ); 
            echo " alt=";
            echo esc_attr( get_bloginfo( 'name' ) ); 
            echo '" id="logo"/></a>'
?>

しかし、これははるかに簡単です:

<?php
        get_anchor($url, $imgsource, $alt, $id);
?>

get_anchor は、パラメーターに従って構成されたアンカーをエコーするカスタム関数です。

しかし、確かにこれを考えるのは私が初めてではありません。この例のように、適切にフォーマットされた html を返す一連の関数を持つ既存のライブラリはありますか? 足りないものはありますか?

4

3 に答える 3

1

純粋な PHP 出力に基づいて HTML タグを返す関数を作成しました。

function tag($name, $attrs, $content) {
    $res = '';
    $res .= '<' . $name;
    foreach($attrs as $key => $val)
        $res .= ' ' . $key . '="' . $val . '"';

    $res .= isset($content) ? '>' . $content . '</'.$name.'>' : ' />';

    return $res;
}
  • $nameはタグ名です (例: a)
  • $attrs属性を持つキー、値の配列です (例: array('href','http://google.com/'))
  • $contentタグの内容 / 本体 (他の要素またはテキスト)

基本的な使用例:

echo tag('a', array('href' => 'http://google.com/'),'Google');

複数の子を持つネストされた使用例:

echo tag('ul',array(),
        tag('li',array(),'one') . 
        tag('li',array(),'two') . 
        tag('li',array(),'three')
    );
于 2013-10-20T18:20:53.827 に答える
0

PHP フレームワークのほとんどは、パラメーター化された関数を介して html を出力するライブラリを提供します。フレームワークが MVC パターンに従っている場合、それらのほとんどはビュー レイヤーの一部です。

ただし、フレームワークを使用していない場合は、ここからこれらのライブラリを使用できます

PHP 梨パッケージ

特にフォームの構築については、

HTML_QuickForm2

于 2013-10-20T19:01:38.047 に答える