【发布时间】:2011-10-04 01:08:59
【问题描述】:
我一直在尝试实施参考的解决方案:
Error when trying to load view in my_controller
不知道为什么,但是 Aptana 指出我的行有语法错误:
parent::load->view('common/header_out');
...当我执行时由解释器附议:“unexpected T_OBJECT_OPERATOR”
编辑:以前我尝试过使用:
$this->load->view('common/header_out');
...产生以下错误:
警告:include(application/errors/error_php.php) [function.include]:未能打开流:第 167 行的 /home/uom2/www/system/core/Exceptions.php 中没有此类文件或 > 目录
警告:include() [function.include]: 未能打开 'application/errors/error_php.php' 以包含 >(include_path='.:/usr/local/lib/php:/usr/local/php5/ lib/pear') 在/home/uom2/www/system/core/Exceptions.php >line 167
我正在使用 CI 2.0。
任何帮助将不胜感激。
应用程序/核心/Uom_Controller.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Uom_Controller extends CI_Controller
{
public $data = array(); // Array to store data - passed to views.
protected $view_path = null; // Here to overide the view path if n
public function __construct()
{
parent::__construct();
}
protected function check_session()
{
//Here goes your function
}
protected function render() {
$data['page_title'] = 'Your title';
$data['page_title'] = 'Your title';
parent::load->view('common/header_out');
parent::load->->view('home/home', $data);
parent::load->->view('common/foot');
echo "view rendered: ".date('Y-m-d H:i:s');
}
}
控制器/home/home.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends Uom_Controller {
function __construct()
{
parent::__construct();
// Set the view path manually for this method.
$this->view_path = 'home/home.php';
}
function __destruct() {
$this->render();
}
public function index()
{
echo "home updated";
}
public function out()
{
echo "logout";
echo "<br>";
echo $this->view_path;
echo "<br>";
}
}
显然,其意图与本文顶部的 SO 帖子相似:我想要 $this->render();被调用并呈现我的页眉、正文和页脚。
(我的下一个任务是将身份验证检查添加到此 MY_Controller 模式中,因此我希望适用于调用视图的任何解决方案也适用于模型。
谢谢大家,我真的花了好几个小时试图找到解决方案,然后再次转向 SO。
【问题讨论】:
标签: php codeigniter