PHP我想加载语言文件,但显示错误
调用函数$this->language();显示错误通知:未定义变量:第7行D:\malik\XAMPP\htdocs\projects\mvc\app\controllers\home.php中的malik 当我尝试这个$malik=$this->language()时;没有langauge代码工作 请查看bitbucket中的代码并帮助我链接PHP我想加载语言文件,但显示错误,php,Php,调用函数$this->language();显示错误通知:未定义变量:第7行D:\malik\XAMPP\htdocs\projects\mvc\app\controllers\home.php中的malik 当我尝试这个$malik=$this->language()时;没有langauge代码工作 请查看bitbucket中的代码并帮助我链接 如果您需要访问MVC/app/local/malik.en.php中的$malik变量,请解决我的问题,您应该从language()方法返回该变量或将
如果您需要访问
MVC/app/local/malik.en.php
中的$malik
变量,请解决我的问题,您应该从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);
}
}
然后,它将是可用的,而无需将其分配给控制器方法中的变量
<?php
class Home extends Controller
{
public function index($name='')
{
$this->language();
$this->view($this->theme(), "home/index" , $this->malik);
}
}
你应该阅读Hay pvg,如果你知道,请帮助我,因为我不能用英语写长段落,因为我没有注意到用英语写的问题不是你的英语,而是你只是链接到了你的代码。这不是一个你不先帮助自己就来寻求帮助的地方。如果您需要指导或指导,请尝试controller.php文件中的、、或.Sir等服务,我有公共函数语言(){require_once./app/local/malik.en.php”;}。因此,我在主控制器中调用变量,该变量来自形式语言而非工作。数据为空,我在函数创建过程中传递。请参见controller.phpyeah我可以看到公共函数视图($theme,$view,$data=[])
,但这不是问题所在,问题是您没有设置该变量,$malik
方法范围内的任何地方,所以像$this->view($this->theme(),“home/index”)
您确定它不应该是$name
?先生,我加载的文件Malik.en.php不工作,这就是为什么我在home controller中只包含文件的原因,如果我创建函数,然后调用函数,它就不工作了公共函数语言(){require_once./app/local/Malik.en.php”}
<?php
class Home extends Controller
{
public function index($name='')
{
$this->language();
$this->view($this->theme(), "home/index" , $this->malik);
}
}