ci的控制器和视图

控制器代码如下:

<?php
/**
 * 1. 文件和控制器名首字母必须大小
 * 2. index()方法,总是在第二段为空时被调用
 * 3. routes.php中定义默认控制器$route['default_controller'] = 'blog';
 * 4. 有子目录控制器时,第一段代表目录,或者使用查询字符串d
 * 5. 如果方法名和类名相同,又没有__construct,则这个方法名相当于__construct,
 * 6. 使用保留的方法名时,会覆盖原来的方法
 */
class Blog extends CI_Controller
{
    public function index()
    {
        echo 'Hello World!';
    }
    public function comments()
    {
        echo 'Look at this!';
    }
    public function shoes($sandals=NULL, $id=NULL)
    {
        echo $sandals.'<BR>';
        echo $id;
    }
    // 方法重映射,方法过滤,重写方法规则
    // public function _remap($method, $params = array())
    // {
    //     $method = 'process_'.$method;
    //     if (method_exists($this, $method))
    //     {
    //         return call_user_func_array(array($this, $method), $params);
    //     }
    //     show_404();
    // }
    // 输出处理,先写入缓存和设置http头后才执行此方法
    public function _output($output)
    {
        echo 'JABIN======'.$output.'jljklj';  // 先输出$output
        if($this->output->cache_expiration > 0)
        {
            $this->output->_write_cache($output);
        }
    }
    // 私有方法用private或者方法前加下划线, 只能内部访问
    private function _utility()
    {
        echo '4444';
    }
    // 构造函数,因为会覆盖父类__construct,所以需要执行一次父类的__construct
    public function __construct()
    {
        parent::__construct();
    }
    // 
}

 视图代码如下:

Blog.php控制器======
<?php
/**
 * 1. view加载的.php文件后缀可省略
 * 2. $data为对象时,对象中的变量会转为数组
 */
class Blog extends CI_Controller
{
    public function index()
    {
        $data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands');

        $data['title'] = 'YOUR TITLE';
        $data['heading'] = 'MY REAL HEADING';

        $string = $this->load->view('blog/blogview', $data, TRUE); // 第三个参数设置结果返回字符串,默认为FALSE

        echo $string;

    }
}

blogview.php视图======
<html>
<head>
    <title><?php echo $title; ?></title>
</head>
<body>
    <h1><?php echo $heading; ?></h1>

    <h3>Todo List</h3>

    <ul>
        <?php foreach ($todo_list as $tl): ?>

            <li><?php echo $tl; ?></li>

        <?php endforeach; ?>
    </ul>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/maoriaty/p/9060463.html