Php 访问apps/appname/lib中的sfConfig类
我有一个symfony 1.4应用程序,其中包含一些用于连接存储在apps/appname/lib中的SOAP web服务的类。当我试图访问Php 访问apps/appname/lib中的sfConfig类,php,symfony1,Php,Symfony1,我有一个symfony 1.4应用程序,其中包含一些用于连接存储在apps/appname/lib中的SOAP web服务的类。当我试图访问sfConfig类以获取我在app.yml中设置的一些变量时,会抛出一个错误,因为应用程序无法将sfConfig::get('app\u myvar')识别为正在类上调用的方法 如何使sfConfig类可用于我的apps/appname/lib目录中的类 这就是我得到的错误 Parse error: syntax error, unexpected '(',
sfConfig
类以获取我在app.yml
中设置的一些变量时,会抛出一个错误,因为应用程序无法将sfConfig::get('app\u myvar')
识别为正在类上调用的方法
如何使sfConfig
类可用于我的apps/appname/lib目录中的类
这就是我得到的错误
Parse error: syntax error, unexpected '(', expecting ',' or ';' in /Users/my/Sites/mySite/apps/frontend/lib/mySOAP.class.php on line 9
下面是我班上最优秀的学生:
class mySOAP extends SoapClient {
protected $client = null;
protected $soapUrl = sfConfig::get('app_my_url');
protected $options = array(
'trace' => 1,
'exceptions' => 1,
'soap_version' => SOAP_1_2,
//'encoding' => 'ISO-8859-1',
'features' => SOAP_SINGLE_ELEMENT_ARRAYS
第9行是
protected $soapUrl = sfConfig::get('app_my_url');
当Symfony堆栈“启动”时,
sfConfig
类将自动加载。因此,在运行index.php
(或任何其他前端控制器)或CLI时,您应该可以访问sfConfig
因此,我最好的猜测是,您要么没有成功设置Symfony堆栈(尽管这会在早期阶段引发其他错误),要么您试图从
Symfony
之外的脚本访问app.yml
?在后一种情况下,您可以启动Symfony或包含sfYaml
解析器,自己解析app.yml
。我的应用程序上的堆栈跟踪显示我正在加载Symfony堆栈。我想我需要找到一种方法在我的类声明中添加一个接口,这样它就可以访问sfConfig类。现在,我的自定义类只是扩展了股票php SoapClient classsfConfig(Symfony中为数不多的)全局类。一旦启动,您应该能够访问它。你能用一些代码示例(你调用它的函数)和一条准确的错误消息来扩展你的问题吗?我刚刚发布了我的错误消息,一个月后重新开始这个项目。无论如何,从错误判断,我希望这是我在做的蠢事:)首先:你不应该(不能)在声明之后直接为$soapUrl
赋值。您应该在构造函数中分配它。第二:你能指出哪一行是第9行吗?您得到的错误是“语法错误”,这意味着您在代码本身而不是“逻辑”中遇到了错误。我已经编辑了我的答案。因此,这肯定与声明后立即分配$soapURL
有关。也许我应该把它分配到别的地方?