Ant*_*lec 1 php service symfony4
我正在启动一个symfony4项目,并且我知道“ parameters.yaml”现在是“ sevice.yaml”。
我在里面设置了一些变量,例如:
parameters:
smugmug.oauth_token: 'XXX'
smugmug.oauth_token_secret: 'XXX'
Run Code Online (Sandbox Code Playgroud)
我尝试从我的控制器访问它,例如:
dump($this->container->get('smugmug.oauth_token'));
Run Code Online (Sandbox Code Playgroud)
但是我有一个错误...
这种存储全局变量的新方法如何工作?
现在,由于不赞成使用Controller,并且必须使用AbstractController,因此还需要为service参数注入依赖项:
namespace App\Controller;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
class SetController extends AbstractController {
private $params;
public function __construct(ParameterBagInterface $params)
{
$this->params = $params;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以像这样获取参数:
$this->params->get( "app.your_stuff" );
Run Code Online (Sandbox Code Playgroud)