简而言之......问题是......“说什么?”扩展...“我没有收到错误”
严格标准:非静态方法 Pyro\Template::preLoad() 不应静态调用,假设 $this 来自 /opt/lampp/htdocs/dc/pyro/app/controllers/admin/courses.php 中不兼容的上下文14
public function actionIndex() {
$this->data->users = $this->DB->query("SELECT id, name, description FROM :@courses")->getAll();
$this->data->title = 'Courses';
$this->data->content_area = \Pyro\Template::preLoad('admin/courses/index', $this->data); // Line 14
}
模板……不完整……
<?php
namespace Pyro;
class Template {
// Stores default master template
public static $defaultTemplate = 'template.php';
public function preLoad($template, $page) {
ob_start();
include( VIEWS . "{$template}.php");
$buffer = ob_get_contents();
@ob_end_clean();
return $buffer;
}
public function load($page) {
include( VIEWS . self::$defaultTemplate);
}
}
为什么会出现这个错误呢?干杯
那么 preLoad 函数不是静态的。这意味着只有 Template 类的对象可以使用此方法。静态方法独立于类的任何对象而存在。
Template::preLoad 是静态调用:您没有创建 Template 对象,然后调用 preLoad 方法。所以基本上,你有两个解决方案:
- 使 preLoad 静态;
- 创建一个Template对象,然后调用它的preLoad函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)