Dans cette partie nous allons essayer d'utiliser tous ce que nous avons précédement vu et même aller un peu plus loin en créant un mini-blog.
Doctrine DBAL met à disposition un puissant gestionnaire de shéma. Nous allons l'utiliser et créer une page d'installation.
Ajoutez tout dans le fichier /Application/Config/routes.yml
deux nouvelles routes :
install:
path: /install
defaults:
_controller: 'Install::form'
requirements:
_method: GET
install_process:
path: /install
defaults:
_controller: 'Install::process'
requirements:
_method: POST
Créez un fichier de contrôleur correspondant Application/Controllers/Install.php
<?php
namespace Application\Controllers;
class Install extends BaseController
{
public function form()
{
return $this->render('Install');
}
public function process()
{
$this->app['flashMessages']->success('La base de données à été modifiée.');
return $this->redirectToRoute('install');
}
}
Ensuite, créez un fichier vue Application/Views/Install.php
<?php $view->extend('Layout') ?>
<?php $view['slots']->set('title', 'Installation / Mise à jour') ?>
<h1 class="page-header">Installation / Mise à jour</h1>
<form action="<?php echo $view['router']->generate('install_process') ?>" class="form" method="post" role="form">
<button type="submit" class="btn btn-primary">installer / mettre à jour</button>
</form>
Enfin, ajoutez un élément au menu dans /Application/Views/Common/Navbar.php
<li<?php if ($app['request']->attributes->get('_route') == 'install') : ?> class="active"<?php endif ?>><a href="<?php echo $view['router']->generate('install') ?>"><i class="fa fa-database fa-fw"></i> Installation</a></li>
... à terminer ...