Publié le
Vous commencez à avoir l'habitude que je vous présente un bundle symfony qui simplifiera la gestion de votre projet. Aujourd'hui nous allons parler de CoreSphereConsoleBundle. Grâce à cet outil vous serez en mesure de gérer votre projet symfony depuis un hébergeur mutualisé qui n'offre pas d'accès SSH. Lorsque vous ouvrez votre terminal et entrez une commande PHP pour intervenir sur votre projet symfony, celle-ci est exécutée grâce à un fichier particulier. Cependant il est possible de substituer l'invite de commande par un script PHP indépendant qui exécutera nos commandes, depuis notre navigateur par exemple. Vous l'aurez compris, ce bundle vous fera gagner un temps précieux et substituera l'invite de commande au profit d'une interface web.
Quelques fonctions principales mises en avant par le bundle
On lance composer en lui indiquant le nom du bundle à installer
composer require coresphere/console-bundle
On enregistre le bundle dans notre kernel, mais cette fois-ci nous allons l'activer uniquement dans l'environnement de développement.
// app/AppKernel.php
public function registerBundles()
{
$bundles = [
// Vos autres bundles
];
if (in_array($this->getEnvironment(), ['dev', 'test'])) {
$bundles[] = new CoreSphere\ConsoleBundle\CoreSphereConsoleBundle();
}
}
On ajoute les routes spécifiques dans le fichier de routing de l'environnement de développement.
# app/config/routing_dev.yml
coresphere_console:
resource: .
type: extra
On installe ensuite les éléments visuels grâce à cette commande.
php bin/console assets:install web
Vous êtes déjà prêts pour utiliser votre bundle, rendez-vous sur l'adresse /_console
pour afficher la console.
Vous l'aviez remarqué, nous avons choisis d'activer le bundle uniquement dans un contexte de développement, c'est une mesure de sécurité évidente. Vous pouvez très bien activer ce bundle et lui donner la route que vous désirez en éditant les fichiers de configuration du mode production.