Conteneur de Service Symfony2 - en Passant ordinaire des arguments au constructeur du service
J'ai cette Paginator
constructeur de la classe:
class Paginator
{
public function __construct($total_count, $per_page, $current_page)
{
}
}
La Paginator
Service est inscrit dans Ibw/JobeetBundle/Resources/config/services.yml
comme ceci :
parameters:
ibw_jobeet_paginator.class: Ibw\JobeetBundle\Utils\Paginator
services:
ibw_jobeet_paginator:
class: %ibw_jobeet_paginator.class%
Lorsque j'utilise le Paginator
comme ceci:
$em = $this->getDoctrine()->getManager();
$total_jobs = $em->getRepository('IbwJobeetBundle:Job')->getJobsCount($id);
$per_page = $this->container->getParameter('max_jobs_on_category');
$current_page = $page;
$paginator = $this->get('ibw_jobeet_paginator')->call($total_jobs, $per_page, $current_page);
- Je obtenir cette exception:
Warning: Missing argument 1 for
Ibw\JobeetBundle\Utils\Paginator::__construct(), appelé dans
/var/www/jobeet/app/cache/dev/appDevDebugProjectContainer.php sur la ligne
1306 et définis dans
/var/www/jobeet/src/Ibw/JobeetBundle/Utils/Paginator.php ligne 13
Je pense qu'il ya quelque chose de mal dans les arguments passés à la Paginator
service constructeur. Pourriez-vous me dire, Comment passer des arguments à un service de constructeur ?
OriginalL'auteur Rafael Adel | 2013-10-02
Vous devez vous connecter pour publier un commentaire.
Bien, pour répondre à votre question, vous passez constructeur du service des arguments en utilisant le paramètre arguments:
Bien sûr, qui n'a pas vraiment vous aider beaucoup car les paramètres sont dynamiques.
Au lieu de cela, déplacez les arguments du constructeur à l'autre méthode:
$this->get()
méthode serait génial.OriginalL'auteur Cerad