Exceptions
Exception
Symfony\Component\DependencyInjection\Exception\ ServiceNotFoundException
in
vendor/symfony/dependency-injection/ServiceLocator.php
(line 129)
$msg[] = sprintf('Unless you need extra laziness, try using dependency injection instead. Otherwise, you need to declare it using "%s::getSubscribedServices()".', preg_replace('/([^\\\\]++\\\\)++/', '', $class));
} else {
$msg[] = 'Try using dependency injection instead.';
}
return new ServiceNotFoundException($id, end($this->loading) ?: null, null, [], implode(' ', $msg));
}
private function createCircularReferenceException(string $id, array $path): ContainerExceptionInterface
{
return new ServiceCircularReferenceException($id, $path);
in
vendor/symfony/service-contracts/ServiceLocatorTrait.php
->
createNotFoundException
(line 59)
* @return mixed
*/
public function get(string $id)
{
if (!isset($this->factories[$id])) {
throw $this->createNotFoundException($id);
}
if (isset($this->loading[$id])) {
$ids = array_values($this->loading);
$ids = \array_slice($this->loading, array_search($id, $ids));
in
vendor/symfony/dependency-injection/ServiceLocator.php
->
doGet
(line 48)
if (!$this->externalId) {
return $this->doGet($id);
}
try {
return $this->doGet($id);
} catch (RuntimeException $e) {
$what = sprintf('service "%s" required by "%s"', $id, $this->externalId);
$message = preg_replace('/service "\.service_locator\.[^"]++"/', $what, $e->getMessage());
if ($e->getMessage() === $message) {
in
vendor/symfony/dependency-injection/Argument/ServiceLocator.php
->
get
(line 42)
*
* @return mixed
*/
public function get(string $id)
{
return isset($this->serviceMap[$id]) ? ($this->factory)(...$this->serviceMap[$id]) : parent::get($id);
}
/**
* {@inheritdoc}
*/
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
get
(line 374)
/**
* Creates and returns a form builder instance.
*/
protected function createFormBuilder($data = null, array $options = []): FormBuilderInterface
{
return $this->container->get('form.factory')->createBuilder(FormType::class, $data, $options);
}
/**
* Shortcut to return the Doctrine Registry service.
*
]);
}
protected function makeForm()
{
return $this->createFormBuilder()
->add('name', TextType::class, [
'required' => false,
])
->add('email', EmailType::class, [
'required' => false,
* @Route("/contact", name="contact")
*/
public function index(Request $request, EmailSenderInterface $emailSender): Response
{
$form = $this->makeForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// data is an array with "name", "email", and "message" keys
in
vendor/symfony/http-kernel/HttpKernel.php
->
index
(line 163)
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
$controller = $event->getController();
$arguments = $event->getArguments();
// call controller
$response = $controller(...$arguments);
// view
if (!$response instanceof Response) {
$event = new ViewEvent($this, $request, $type, $response);
$this->dispatcher->dispatch($event, KernelEvents::VIEW);
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 75)
{
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
$this->requestStack->push($request);
try {
return $this->handleRaw($request, $type);
} catch (\Exception $e) {
if ($e instanceof RequestExceptionInterface) {
$e = new BadRequestHttpException($e->getMessage(), $e);
}
if (false === $catch) {
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 202)
$this->boot();
++$this->requestStackSize;
$this->resetServices = true;
try {
return $this->getHttpKernel()->handle($request, $type, $catch);
} finally {
--$this->requestStackSize;
}
}
Request::setTrustedHosts([$trustedHosts]);
}
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
Stack Trace
ServiceNotFoundException
|
---|
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: Service "form.factory" not found: the container inside "App\Controller\Contact\ContactController" is a smaller service locator that only knows about the "doctrine", "http_kernel", "parameter_bag", "request_stack", "router", "session" and "twig" services. at vendor/symfony/dependency-injection/ServiceLocator.php:129 at Symfony\Component\DependencyInjection\ServiceLocator->createNotFoundException('form.factory') (vendor/symfony/service-contracts/ServiceLocatorTrait.php:59) at Symfony\Component\DependencyInjection\ServiceLocator->doGet('form.factory') (vendor/symfony/dependency-injection/ServiceLocator.php:48) at Symfony\Component\DependencyInjection\ServiceLocator->get('form.factory') (vendor/symfony/dependency-injection/Argument/ServiceLocator.php:42) at Symfony\Component\DependencyInjection\Argument\ServiceLocator->get('form.factory') (vendor/symfony/framework-bundle/Controller/AbstractController.php:374) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->createFormBuilder() (src/Controller/Contact/ContactController.php:49) at App\Controller\Contact\ContactController->makeForm() (src/Controller/Contact/ContactController.php:23) at App\Controller\Contact\ContactController->index(object(Request), object(EmailSender)) (vendor/symfony/http-kernel/HttpKernel.php:163) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/http-kernel/HttpKernel.php:75) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/http-kernel/Kernel.php:202) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (public/index.php:25) |