PHP我想要加载语言文件,但显示错误

时间:2017-09-03 23:15:18

标签: php

调用函数$ 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 请解决我的问题

1 个答案:

答案 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吗?