调用函数$ this-> language();显示错误注意:未定义的变量:第7行的D:\ Malik \ XAMPP \ htdocs \ projects \ mvc \ app \ controllers \ home.php中的malik 当我尝试这个$ malik = $ this-> language();没有langauge代码工作 请查看bitbucket中的代码并帮我链接https://bitbucket.org/malikumer/mvc/src 请解决我的问题
答案 0 :(得分:1)
如果您需要访问位于$malik
的{{1}}变量,则应从MVC/app/local/malik.en.php
方法返回该变量,或将其设置为常量,因为它是本地范围变量,然后只能在language()
方法中使用。
language()
然后在您的控制器中将您的代码更改为:
public function language()
{
require_once "../app/local/malik.en.php";
if (is_array($malik)) {
return $malik;
}
return [];
}
或者,您可以将语言设置为类范围:
<?php
class Home extends Controller
{
public function index($name='')
{
$malik = $this->language();
$this->view($this->theme(), "home/index" , $malik);
}
}
然后它将可用,而无需将其分配给控制器方法中的变量。
public function language()
{
require_once "../app/local/malik.en.php";
if (is_array($malik)) {
$this->malik = $malik;
}
$this->malik = [];
}
另外,我猜你<?php
class Home extends Controller
{
public function index($name='')
{
$this->language();
$this->view($this->theme(), "home/index" , $this->malik);
}
}
是你的名字,它最好不适合$malik
吗?