Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 访问apps/appname/lib中的sfConfig类_Php_Symfony1 - Fatal编程技术网

Php 访问apps/appname/lib中的sfConfig类

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 '(',

我有一个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 '(', 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
有关。也许我应该把它分配到别的地方?