Plus qu'un simple skeleton slim, un véritable framework.
Clone or download
Permalink
Failed to load latest commit information.
.github fix(file): Correction du fichier de contribution Aug 29, 2018
app feat: Ajout du router slim coté javascript Nov 17, 2018
assets Configuration webpack optimal Jun 8, 2018
config fix: Add routerjs in test and config for dev/prod mode Nov 17, 2018
docker Ajout docker-compose + chmod 775 Apr 24, 2018
docs docs: Update of doc for RouterJS and fix him for dev/prod mod Nov 17, 2018
public docs: Update of doc for RouterJS and fix him for dev/prod mod Nov 17, 2018
tests/Functional fix: Add routerjs in test and config for dev/prod mode Nov 17, 2018
.babelrc Configuration webpack optimal Jun 8, 2018
.env.example feat(): Change translation system and remove 'dbal' container Oct 9, 2018
.env.travis feat(): Change translation system and remove 'dbal' container Oct 9, 2018
.eslintrc Configuration webpack optimal Jun 8, 2018
.gitignore Mise à jours README.md et .gitignore Jun 5, 2018
.travis.yml ci(fixtures): Ajout test des fixtures Aug 10, 2018
LICENSE First release Jan 18, 2018
README.md Release 1.1.6 Nov 17, 2018
composer.json feat: Ajout du router slim coté javascript Nov 17, 2018
console feat(): Change translation system and remove 'dbal' container Oct 9, 2018
docker-compose.yml Ajout docker-compose + chmod 775 Apr 24, 2018
package.json build(deps-dev): update eslint-plugin-node requirement Oct 27, 2018
phpcs.xml fix(): Correction phpcs for release 1.1.5 Oct 9, 2018
phpunit.xml First release Jan 18, 2018
webpack.config.js build(webpack): Correction lien des fichiers lors du output (liens img) Aug 1, 2018

README.md

version Minimum PHP Version Minimum Node Version Build Status GitHub license FOSSA Status

slim-doctrine

Plus qu'un simple skeleton slim, un véritable framework.

Pour toutes contribution sur github, merci de lire le document CONTRIBUTING.md.

Les avantages que propose le skeleton

  • Répartition des routes/controlleurs/vues/middlewares.
  • Fichier de configuration d'environnement base de données.
  • Moteur de template twig.
  • Organisation du container pour faciliter l'ajout de nouvelles librairies.
  • Fichier config/error_pages.php pour personnaliser les pages d'erreurs (404, 405, 500).
  • Mise en place de middlewares pour le csrf, token, message flash et sauvegarde des inputs.
  • Commandes via la console pour créer rapidement des contrôleurs/middlewares/entitées/fixtures ou pour vider le cache de twig.
  • Doctrine 2 comme ORM avec les DataFixtures.
  • Un helper pour la gestion des sessions.
  • Système multilingue avec twig.
  • Webpack pour faciliter le développement front-end.
  • RouterJS pour pouvoir générer les urls des routes de slim

Librairies utilisées

Installation

Via composer

$ composer create-project simondevelop/slim-doctrine <projet_name>
$ cd <projet_name>
$ composer install

NOTE

cli-menu utilise l'extension php posix qui n'est pas supporté sur windows, pensez à supprimer cette ligne dans composer.json si vous êtes sous windows :

"php-school/cli-menu": "^3.0",

Via git

$ git pull https://github.com/SimonDevelop/slim-doctrine.git <projet_name>
$ cd <projet_name>
$ composer install

Vérifiez que le fichier .env a bien été créé, il s'agit du fichier de configuration de votre environnement ou vous définissez la connexion à la base de données, l'environnement dev ou prod et l'activation du cache de twig.

Si jamais le fichier n'a pas été créé, faite le manuellement en dupliquant le fichier .env.example.

N'oubliez pas de vérifier que votre configuration d'environnement de votre base de données corresponde bien.

Permissions

Autoriser les dossiers app/cache et app/logs à l'écriture coté serveur web.

Docker

Un docker-compose est disponible pour faire fonctionner le skeleton via docker.

  1. Télécharger le skeleton :
$ composer create-project simondevelop/slim-doctrine <projet_name>
# Ou
$ git clone https://github.com/SimonDevelop/slim-doctrine.git
  1. Lancer composer :
$ composer install
# Ou
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ php composer.phar install
# Ou
$ docker run -ti --rm -v $(pwd):/app composer
  1. Vérifier le .env :
# Database development
DBD_TYPE = "pdo_mysql"
DBD_NAME = "slim"
DBD_SERVER = "mysql"
DBD_USER = "root"
DBD_PWD = "root"

# Database production
DBP_TYPE = "pdo_mysql"
DBP_NAME = "slim"
DBP_SERVER = "mysql"
DBP_USER = "root"
DBP_PWD = "root"

# Environment mode
# ("dev" pour developpement | "prod" pour production)
ENV = "dev"

# Cache twig
CACHE = false
  1. Lancer docker-compose :
# à la racine du projet, lancer cette commande
$ docker-compose up -d
  1. Choses à savoir :
  • La configuration nginx se trouve dans le dossier docker/nginx, vous disposez des logs et de la config pour le skeleton.
  • Il est important de mettre les dossiers app/cache et app/logs en écriture 777 pour que le container nginx puisse écrire les logs et fichiers de cache twig.
  • Le docker-compose ne prend pas en charge nodejs, à vous de le faire vous même.

Guide d'utilisation

Pour bien utiliser ce skeleton, il est important de bien connaitre le fonctionnement de Slim 3 et des divers librairies utilisées.

Vous avez à votre disposition, plus haut, les liens vers ces derniers pour en savoir plus.

Toute fois, voici un petit guide d'utilisation.

License

FOSSA Status