在我的MVC结构中放置模板的位置?在哪里定义?

时间:2017-02-15 15:34:53

标签: php oop model-view-controller structure templating

我的MVC中有以下结构:

1) app
    1. controllers
        Home.class.php
    2. core
        App.class.php
        Controller.class.php
    3. models
        User.class.php
    4. views
        - home
            index.php
        .htaccess
        init.php
2) public
    1. css
    2. js
    .htaccess
    index.php

现在我也想实现模板化。我之前使用过以下代码在我的项目中使用模板。

<?php
    class Template
    {
        private $assignedValues = array();
        private $tpl;

        public function __construct($_path = '')
        {
            if(!empty($_path)){
                if(file_exists($_path)){
                    $this->tpl = file_get_contents($_path);
                }
                else{
                    echo '<b>Template Error:</b> File Inclusion Error.';
                }
            }
        }

        public function assign($_searchString, $_replaceString)
        {
            if(!empty($_searchString)){
                $this->assignedValues[strtoupper($_searchString)] = $_replaceString;
            }
        }

        public function show()
        {
            if(count($this->assignedValues > 0)){
                foreach ($this->assignedValues as $key => $value) {
                    $this->tpl = str_replace('{'.$key.'}', $value, $this->tpl);
                }
            }

            echo $this->tpl;

        }

    }

那么我必须把这个班级放在哪里?包含模板的文件夹在哪里?我还使用了带有定义的默认文件。删除我的定义文件的最佳位置是什么?

1 个答案:

答案 0 :(得分:0)

为什么不在:

  

应用程序/视图/布局/你的-的template.php

让我把它与你的其他观点保持一致是很有意义的。基于结构,因为它是一个模板。

这也是Laravel(一个php框架)的方式。