访问app/appname/lib中的sfConfig类

2022-07-15 00:00:00 php symfony1

我有一个symfony 1.4应用程序,其中包含一些用于连接到存储在app/appname/lib中的SOAPWeb服务的类。当我尝试访问sfConfig类以获取我在app.yml中设置的一些变量时,出现错误,因为应用程序不会将sfConfig::get('app_myvar')识别为在类上调用的方法。

如何使sfConfig类可用于应用程序/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');

解决方案

sfConfig类在symfony堆栈‘启动’时自动加载。因此,无论您是通过index.php(或任何其他前端控制器)还是CLI运行,您都应该有权访问sfConfig

因此,我最好的猜测是您要么没有成功设置symfony堆栈(尽管这应该在早期阶段抛出其他错误),要么您试图从Symfony外部的脚本访问app.yml?在后一种情况下,您可以启动symfony或包含sfYaml解析器并自己解析app.yml

相关文章