entfernt. Ich erhalte unterhalb Fehlermeldung beim Verwenden von Service Manager. Wie kann ich dies über anderen Ansatz wie constuct lösen ....Veraltet: ServiceLocatorAwareInterface ist veraltet und wird in Version 3.0 zusammen mit dem ServiceLocatorAwareInitializer
Deprecated: You are retrieving the service locator from within the class Users\Controller\LoginController. Please be aware that ServiceLocatorAwareInterface is deprecated and will be removed in version 3.0, along with the ServiceLocatorAwareInitializer. You will need to update your class to accept all dependencies at creation, either via constructor arguments or setters, and use a factory to perform the injections. in C:\wamp64\www\ZendSkeletonApplication-master\vendor\zendframework\zend-mvc\src\Controller\AbstractController.php on line 258
Im Folgenden Code habe ich in module.php hinzugefügt
public function getServiceConfig() {
return array(
'abstract_factories' => array(),
'aliases' => array(),
'factories' => array(
// FORMS
'LoginForm' => function ($sm) {
$form = new \Users\Form\LoginForm();
$form->setInputFilter($sm->get('LoginFilter'));
return $form;
},
)
)
}
und von Login-Controller Index Aktion i Code unten Aufruf
$form = $this->getServiceLocator()->get('LoginForm');
$viewModel = new ViewModel(array('form' => $form));
return $viewModel;
Jede Hilfe wird sehr geschätzt.
Derzeit verwende ich Zend Framework 2.5.1 Version In Zend Framework 2.3 Version war es in Ordnung.
aktualisieren
Jetzt in meinem Controller
// Add this property:
private $table;
// Add this constructor:
public function __construct(LoginForm $table) {
$this->table = $table;
}
und in module.php
// FORMS
Model\AlbumTable::class => function ($sm) {
$form = new \Users\Form\LoginForm();
$form->setInputFilter($sm->get('LoginFilter'));
return Model\AlbumTable;
},
aber immer noch unter Fehler Ich erhalte
i Code unten bin mitCatchable fatal error: Argument 1 passed to Users\Controller\LoginController::__construct() must be an instance of Users\Form\LoginForm, none given, called in C:\wamp64\www\ZendSkeletonApplication-master\vendor\zendframework\zend-servicemanager\src\AbstractPluginManager.php on line 252 and defined in C:\wamp64\www\ZendSkeletonApplication-master\module\Users\src\Users\Controller\LoginController.php on line 22
WHAT die Frage? Möchten Sie wissen, was veraltet bedeutet? Möchten Sie wissen, wie die Fehlermeldung angezeigt wird? Möchten Sie wissen, was Sie stattdessen verwenden sollen? – RiggsFolly
Ich erhalte oben Fehlermeldung, während ich Service Manager benutze. Wie kann ich dies über verschiedene Ansatz wie Konstrukt lösen ... –
Folgen Sie den Anweisungen in der Nachricht. Und schauen Sie sich diese http://stackoverflow.com/questions/36061210/deprecated-retrieve-service-locator-in-functional-system-zf2 Eine 10 Sekunden Google fand mich das. Wenn das alles ist, was Sie brauchen, löschen Sie diese Frage als offensichtlich ein Duplikat – RiggsFolly