1

当我使用 TinyMVC 中内置的 PDO 层从表中请求记录时,它返回以下错误:

Array
Error: 0
Message: Unknown file 'register_view.php'
File:{redacted}tinymvc\sysfiles\plugins\tinymvc_view.php
Line: 125

但是,当我尝试在没有连接的情况下仅返回相同的变量时,它会显示得很好。它引发的错误在视图层中,因为它无法获取传递给它的参数。但是,考虑到查询运行正常,我认为没有理由这样做。

这是视图方法的代码:

<body>
<h1>Hello <?=$fname?></h1>
<p>Hello World</p>

以及来自控制器的代码:

function index(){
    $this->load->model('User_Model','user');
    $this->view->assign('title','Manage your Peacock account');
    $this->view->assign('fname', $this->user->fname());
    $this->view->display('user_view');
}

最后是模型中的代码:

public function __get($property) {
    if (property_exists($this, $property)) {
        /**
         * Retrieve the data from the database
         */
        $this->$property = $this->db->query_one('select '.$this->getTable($property).' from users where id=?',array('1'));
        return $this->$property;
    }
}

任何帮助将不胜感激

4

1 回答 1

0

TinyMVC 有一个不幸的特点,即每当一个带有致命错误的视图被“显示”时,就会声明一个“未知文件”错误。原因很简单:视图的包含代码在最后一个函数的 /tinymvc/sysfiles/plugins/tinymvc_view.php 中 - “try-catch”块中的“_view()”:

 try {
  include($_tmvc_filepath);
 } catch (Exception $e) {
  throw new Exception("Unknown file '$_tmvc_filepath'");      
 }

因此视图引发的任何致命错误都会自动引发“未知文件”错误。如果您想查看真正的错误,请注释上述所有行并添加以下行:

require($_tmvc_filepath);

反而。如果确实找不到文件,这无论如何都会引发致命错误,并将向您显示视图中的真正错误。

于 2014-07-07T06:53:52.960 回答