【问题标题】:view file application/views//view..php not found [duplicate]查看文件 application/views//view..php 未找到 [重复]
【发布时间】:2015-04-21 14:51:22
【问题描述】:
public static function view($name, array $vars = null){
    if(preg_match('/\\\\/', $name)){
        $view_data = explode('\\', $name);
        if(count($view_data) == 3)
            $file = APP_PATH.DS.'views'.DS.$view_data[0].DS.$view_data[1].DS.'view.'.$view_data[2].'.php';
        else
            $file = APP_PATH.DS.'views'.DS.$view_data[0].DS.'view.'.$view_data[1].'.php';
    }
    else{
        $file = APP_PATH.DS.'views'.DS.'view.'.$name.'.php';
    }
    if(!is_readable($file)){
        throw new Exception('view file application'.DS.'views'.DS.$view_data[0].DS.'view.'.$view_data[1].'.php not found.');
    }
    else{
        if(isset($vars)){
            extract($vars);
        }
        require($file);
    }
}

[21-Apr-2015 13:10:30 UTC] PHP 注意:未定义变量:第 28 行 /home/realitycards/public_html/test/system/load.class.php 中的 view_data

【问题讨论】:

  • 你的问题是......?
  • 首先定义 $view_data = '';在 if 之外,在处理它之前请检查 $view_data 是否具有某些值意味着应用检查 if(isset($view_data) && !empty($view_data)){// 然后是所有其他代码

标签: php xml pdo


【解决方案1】:

您的变量 $view_data 仅在第一个 if 语句中定义。在下面的 if 语句中看起来您正在使用 $view_data,即使它尚未设置。

if(!is_readable($file)){
    throw new Exception('view file application'.DS.'views'.DS.$view_data[0].DS.'view.'.$view_data[1].'.php not found.');
}

您需要在您的else 语句中设置$view_data,或者在上述异常中,使用您已经设置的$file 变量:

if(!is_readable($file)){
    throw new Exception('view file '. $file .' not found.');
}

【讨论】:

  • @Christian 这可能意味着你的变量 $name 是'default/header.php',看看你的连接。
  • 在我的本地计算机上运行完美,在 centos 6 easyapache 上现在可以运行,但必须编辑从 view.name 到 name 的所有文件
猜你喜欢
  • 2019-06-23
  • 2020-01-02
  • 2019-09-11
  • 2014-06-02
  • 2019-11-07
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多