在Zend框架中包含一个php文件的问题

时间:2011-09-07 07:23:18

标签: php zend-framework

我有一个包含变量列表(错误消息列表)的php文件,没有别的。

在我的控制器中,我在控制器定义之前使用以下行包含文件

require_once PATH_TO_FILE;
class mycontrollerController extends Zend_Controller_Action {

all my actions here

}

所以如果一切顺利,我可以从我的控制器中的任何操作访问任何变量,但它不起作用,我得到一条错误消息,说明我试图访问的变量没有定义。
但如果我在操作中包含文件,一切都很完美,我可以访问变量。

我不知道为什么在控制器顶部包含文件似乎不起作用。

2 个答案:

答案 0 :(得分:2)

因为在面向对象的编程中,类和方法是这样设计的: 在课程之前包含该文件并不意味着您的方法可以访问它,就像在程序编程中一样。

如果要访问变量,则必须在操作范围内“使其可见”。

我建议您在此处了解有关OOP和Zend Framework的更多信息: http://framework.zend.com/manual/en/

http://php.net/manual/en/language.oop5.php

答案 1 :(得分:1)

实际上,如果您在类定义之前粘贴变量,它也将无效。只考虑了课堂内的代码。

在我看来,将这些变量作为一个类的成员(可以自动加载,您不需要使用require_once)并从您需要的任何地方访问它们可能会更好。