1

SmartyやTwigのようなテンプレートシステム(私は本当に好きではありません)ではなく、Viewクラスから直接、次のようなメソッドを使用してHTMLを作成できるPHPフレームワークを探しています。

$this->elementStart('div', array('id' => 'header',
                                 'class' => 'cls'));
...
$this->elementEnd('div');

StatusNetはそれを行いますが、実際には汎用フレームワークではありません。そのように機能するフレームワークはありますか?

4

3 に答える 3

0

はい、Yiiフレームワークがあります。両方を許可します。テンプレート呼び出しを適用したくない場合は、render()の代わりにrenderPartial()を使用してください。Plzはhttp://www.yiiframework.com/doc/guide/1.1/en/basics.viewを参照してください

于 2011-09-28T20:27:50.533 に答える
0

この時点で、非常に高速な DooPHPがあります。また、php で独自のテンプレートを作成することもできます。しかし、私はポイントを見ません。

于 2011-09-28T20:19:21.720 に答える
0

Yii を確認できます。Smarty などのようなテンプレートのシステムはありません。HTML を含むビュー ファイルと、コントローラーから渡された PHP 変数が含まれているだけです。

編集:私が見つけた古い例のビューをここに示しますが、リンクがなかったので貼り付けました。「ウィジェット」などを参照するものは、フレームワークの単なるコンポーネントであり、テンプレート エンジンのものではありません。

    <!-- blueprint CSS framework -->
    <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/screen.css" media="screen, projection" />
    <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />
    <!--[if lt IE 8]>
    <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />
    <![endif]-->

    <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/main.css" />
    <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/form.css" />

    <title><?php echo CHtml::encode($this->pageTitle); ?></title>
</head>

<body>

<div class="container" id="page">

    <div id="header">
        <div id="logo"><?php echo CHtml::encode(Yii::app()->name); ?></div>
    </div><!-- header -->

    <div id="mainmenu">
        <?php $this->widget('zii.widgets.CMenu',array(
            'items'=>array(
                array('label'=>'Home', 'url'=>array('/site/index')),
                array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
                array('label'=>'Contact', 'url'=>array('/site/contact')),
                array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
                array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
            ),
        )); ?>
    </div><!-- mainmenu -->
    <?php if(isset($this->breadcrumbs)):?>
        <?php $this->widget('zii.widgets.CBreadcrumbs', array(
            'links'=>$this->breadcrumbs,
        )); ?><!-- breadcrumbs -->
    <?php endif?>

    <?php echo $content; ?>

    <div id="footer">
        Copyright &copy; <?php echo date('Y'); ?> by My Company.<br/>
        All Rights Reserved.<br/>
        <?php echo Yii::powered(); ?>
    </div><!-- footer -->

</div><!-- page -->

    </body>
    </html> 

于 2011-09-28T20:08:34.390 に答える