【问题标题】:how to creating php template file如何创建php模板文件
【发布时间】:2023-03-29 12:17:01
【问题描述】:

控制器

$data["controller"] = $table;
$data["rows"] = $this->base_model->get();//get table attributes and names
$write_add = $this->load->view("generate/add",$data,TRUE);//load file into var
$file_vadd = fopen($path["dirname"].'/generate/views/'.$data["controller"].'/add.php',"w+"); //write to file

生成/add.php(模板)

<?php echo "<?php " ?>echo form_open('<?=$controller?>/add'); ?>
        <fieldset>
        <legend>New <?=$controller?></legend>
        <?php foreach($fields as $field): ?>
            <label for="<?php echo $field->name?>" ><?php echo $field->name?></label>
            <?php if(!empty($rel)) : ?>
                    <?php if($rel["rel_type"]==1 && $field->name == $rel["rel_fk"] ):?>
                        <select name="<?php echo $field->name?>" id="<?php echo $field->name?>">

                            <?php echo "<?php " ?> foreach($<?=$rel["rel_table"]?>_option as $<?=$rel["rel_table"]?>): ?>
                                <option value="<?php echo "<?php " ?>echo $<?=$rel["rel_table"]?>-><?=$rel["rel_pk"]?>; ?>" ><?php echo "<?php " ?>echo $<?=$rel["rel_table"]?>-><?=$rel["rel_view"]?> ;?></option>

                            <?php echo "<?php " ?> endforeach; ?>
                        </select>

                    <?php else: ?>
                        <input type="text"  name="<?php echo $field->name?>" id="<?php echo $field->name?>"  />
                <?php endif; ?>  
            <?php endif; ?>
        <?php endforeach;?>
        <input name="submit" type="submit"  value="Add"/> 
       </fieldset>   
    </form>

我有一个控制器,它将调用此模板来创建视图、控制器和模型。我不知道更好的方法来做到这一点,我不喜欢将 php 标签放在 php 标签中。建议?

这就像 cakephp 中的“烘焙”功能。但我正在创建一个 codeigniter 版本的 bake。脚本正在运行。但是我的代码很乱。?寻找更好的方式来管理模板文件..

【问题讨论】:

标签: php codeigniter cakephp-bake


【解决方案1】:

一个简单的方法是启用output buffering,包括php文件(让它做它的事情),结束输出缓冲并将结果保存在一个文件中。类似于

ob_start();
include("foobar.php");
$temp .= ob_get_clean();
file_put_contents('foo.tpl', $temp);

【讨论】:

  • 这真的很难从你的问题中读出,我建议你重写并重新考虑你最初的问题。
  • sorry..english 不是我的第一语言..它可能不善于解释事情.. 举个例子可能更清楚......我为 codeigniter 创建了一个像 cakephp 这样的烘焙函数..我发布的代码是一个模板文件。我正在寻找一种更好的方法来编写模板文件
猜你喜欢
  • 1970-01-01
  • 2012-10-16
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-08
  • 1970-01-01
相关资源
最近更新 更多