Comment inclure une classe personnalisée dans un Bundle Symfony?
J'ai un bundle Symfony où je vais devoir utiliser une classe personnalisée. Cette classe n'a pas à être accessibles à partir de tous les site web, mais seulement dans un contrôleur de ce bundle.
J'ai vu quelques solutions par rapport à ce que les fournisseurs, mais cela est assez lourd et pas nécessaire dans mon cas.
Quelqu'un ai une solution plus simple?
namespace Acme\MyBundle\Class
.. à utiliser: use Acme\MyBundle\Class\MyClass.php
OriginalL'auteur maxime | 2013-07-03
Vous devez vous connecter pour publier un commentaire.
Classe doivent être créés dans
Acme\Bundle\Model
espace de noms et le dossier, pas\Class
! Qui dit cela?!À l'aide de contrôleurs:
Nom de fichier (
Utility.php
) doit être égal au nom de la classe.Class
comme un exemple. Désolé, vous avez accroché sur la parole et a raté de l'échantillon 🙂 L'emplacement réel de la classe a vraiment rien à voir avec l'OP du problème.Ouais je obtenir de vous. Merde 🙂
OriginalL'auteur Croll
C'est ce que les espaces de noms sont pour.
De php.net:
Tout simplement, inclure votre espace de noms dans le haut de votre personnalisé classe.
src/Acme/DemoBundle/Model/MyClass.php
et à utiliser dans votre Contrôleur:
src/Acme/SomeOtherBundle/Controller/DefaultController.php
.php
à la fin n'est pas nécessaire, car chaque fichier soussrc/
obtient chargé.n'était pas attentif, bonne prise, édité
Merci pour la réponse. Je l'ai fait, mais en fait, je n'ai aucune idée de l'endroit où le fichier php de la classe doit être situé, et je ne sais pas comment l'inclure... (charge automatiquement quand ?)
placez-le là où il le meilleur appartient. J'ai utilisé le dossier "de la Classe" comme un exemple. Qu'est-ce que la classe personnalisée à la responsabilité et à ce bundle est-il lié? Par exemple, si c'était une Entité de vous mettre dans l'un
Entity
dossier dans le Bundle qui est liée. C'est votre décision.C'est un temps à la classe de l'api, et il appartient à la "DLS\EphemerideBundle"
OriginalL'auteur Carrie Kendall