Это первый раз, когда я пытаюсь автоматически подключить сервис в symfony4, так как symfony4 является новым, я никогда не уверен, работает ли найденный в Интернете ответ, или он устарел ..
В моем services.yaml:
services:
[...]
smugmug_controller:
class: App\Controller\SmugmugController
arguments:
- '@smugmug_service'
# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones
smugmug_service:
class: App\Services\SmugmugService
arguments:
$consumerKey: "%smugmug.consumer_key%"
$consumerSecret: "%smugmug.consumer_secret%"
$oauthToken: "%smugmug.oauth_token%"
$oauthTokenSecret: "%smugmug.oauth_token_secret%"
$allowedRootId: "%smugmug.allowed_root_id%"
В моей службе Smugmug:
class SmugmugService
{
private $consumerKey;
private $consumerSecret;
private $oauthToken;
private $oauthTokenSecret;
private $allowedRootId;
private $galleryNameFromDropbox = "dropbox";
/**
* Constructor.
*
* @param string $consumerKey
* @param string $consumerSecret
* @param string $oauthToken
* @param string $oauthTokenSecret
* @param string $allowedRootId
*/
public function __construct(String $consumerKey, String $consumerSecret, String $oauthToken, String $oauthTokenSecret, String $allowedRootId) {
$this->consumerKey = $consumerKey;
$this->consumerSecret = $consumerSecret;
$this->oauthToken = $oauthToken;
$this->oauthTokenSecret = $oauthTokenSecret;
$this->allowedRootId = $allowedRootId;
}
В моем контроллере:
class SmugmugController extends Controller {
private $smugmugService;
public function __construct(SmugmugService $smugmugService) {
$this->smugmugService = $smugmugService;
}
И когда я пытаюсь вызвать маршрут из моего контроллера, у меня естьэта ошибка:
Невозможно автоматически подключить службу "App \ Services \ SmugmugService": аргумент "$ consumerKey" метода "__construct ()" является подсказкой типа "строка", вы должны явно указать его значение.
Я знаю, что я вызываю контроллер с внедренным сервисом, которому самому вводятся параметры (это проблема?).Любая помощь?