libriciel / cakephp-bootstrap3
Plugin CakePHP 2.x Classes de helper et de génération de code permettant de simplifier, localiser, respecter la charte graphique.
Requires
- php: >=5.4.0
- cakephp/cakephp: 2.10.*
- composer/installers: ~1.0
- libriciel/cakephp-translator: 2.0.*
Requires (Dev)
- cakephp/cakephp-codesniffer: 4.0.*
- phpmd/phpmd: 2.7.*
- phpunit/phpunit: 3.7.*
- sebastian/phpcpd: 3.0.*
- squizlabs/php_codesniffer: 3.5.*
README
Dépendances
Installation
app/Config/bootstrap.php
CakePlugin::load('Database', ['bootstrap' => true]);
CakePlugin::load('LibricielBootstrap3', ['bootstrap' => true]);
CakePlugin::load('Postgres');
CakePlugin::load('Translator', ['bootstrap' => true]);
app/Config/core.php
setLocale(LC_ALL, 'fra');
Configure::write( 'Config.language', 'fra' );
Formatage des données
On peut formater les données des tableaux de résultats grâce à la classe LibricielBootstrap3Data
ou à toute autre classe implémentant l'interface LibricielBootstrap3DataInterface
.
Via la configuration
Configure::write(
'LibricielBootstrap3.LibricielBootstrap3TableHelper' => [
'engine' => 'LibricielBootstrap3.LibricielBootstrap3Data'
]
);
À la volée
$this->LibricielBootstrap3Table->engine(['engine' => 'LibricielBootstrap3.LibricielBootstrap3Data']);
Par défaut, les 3 formats ci-dessous sont disponibles mais on peu en ajouter ou
surcharger ces formats dans le fichier app/Config/bootstrap.php
(ou le fichier
.inc
de l'application).
Configure::write(
'LibricielBootstrap3.LibricielBootstrap3Data.formats',
[
'phone' => [
'in' => '%2d%2d%2d%2d%2d',
'out' => '%02d %02d %02d %02d %02d'
],
'siret' => [
'in' => '%3d%3d%3d%5d',
'out' => '%03d %03d %03d %05d'
],
'vat' => [
'in' => '%2s%2d%3d%3d%3d',
'out' => '%2s %02d %03d %03d %03d'
]
]
);
Il faut spécifier le format d'entrée, in
(sscanf) et
le format de sortie associé, out
(sprintf).
Il est possible, à tout moment de configurer la classe LibricielBootstrap3Data
.
LibricielBootstrap3Data::setup();
LibricielBootstrap3Data::setup('LibricielBootstrap3.LibricielBootstrap3Data.formats');
LibricielBootstrap3Data::setup(['phone' => ['in' => '%2d%2d%2d%2d%2d', 'out' => '%02d.%02d.%02d.%02d.%02d']);
Classes et icônes des boutons
Classes à ajouter pour les liens d'actions et les îcones suivant l'action du lien. Le contrôleur et le plugin peuvent aussi être pris en compte (underscore).
Via la configuration
Configure::write(
'LibricielBootstrap3.LibricielBootstrap3TableHelper' => [
'classes' => [
'table' => 'table table-hover table-striped table-condensed',
'buttons' => [
'add' => 'fa fa-lg fa-plus-circle',
'view' => 'fa fa-lg fa-eye',
'edit' => 'fa fa-lg fa-pencil',
'delete' => 'fa fa-lg fa-trash'
],
'icons' => [
'add' => 'btn-success',
'delete' => 'btn-danger',
'edit' => 'btn-primary',
'view' => 'btn-default'
]
]
]
);
À la volée
$this->LibricielBootstrap3Table->classes(['buttons' => ['groups:view' => 'fa fa-lg fa-user'], 'icons' => ['groups:view' => 'btn-info']]);
Par défaut, les classes ci-dessus sont disponibles mais on peu en ajouter ou
surcharger ces classes dans le fichier app/Config/bootstrap.php
(ou le fichier
.inc
de l'application).
Configure::write(
'LibricielBootstrap3.LibricielBootstrap3TableHelper' => [
'classes' => [
'buttons' => [
'groups:view' => 'fa fa-lg fa-user'
],
'icons' => [
'groups:view' => 'btn-info'
]
]
]
);
Génération du code
Par exemple, pour générer tout le code à partir des noms de modèles Group, User, Tag et Post, on écrira:
plugins/LibricielBootstrap3/cake_utils.sh cake_utils.sh bake Group User Tag Post
Attention
Perte de données
Normalement, une confirmation est demandée, mais il y a toujours le risque d'écraser le contenu de fichiers.
Dépendances
L'ordre dans lequel on donne les noms de modèles a de l'importance: un nom de modèle devra succéder à ceux dont il dépend.
Par exemple, User belongsTo
Group, donc la table users
a une clé étrangère
vers la table groups
, l'ordre doit donc être: cake_utils.sh bake __Group__ __User__
.
Le script cake_utils.sh
NAME
cake_utils.sh
DESCRIPTION
Commandes courantes pour un projet CakePHP 2.x chez Libriciel SCOP"
SYNOPSIS
cake_utils.sh [OPTION] [COMMAND]
COMMANDS
bake Génère le code CakePHP 2.x à partir des noms de modèle
check Vérifie que l'on soit bien à la racine d'un projet CakePHP 2.x
clear Vérifie l'installation (commande check) et nettoie le cache d'un projet CakePHP 2.x
tail Tail les fichiers de log de CakePHP 2.x (et les crée si besoin)
tests Effectue les tests unitaires du plugin LibricielBootstrap3
OPTIONS
-h Affiche cette aide
EXEMPLES
cake_utils.sh -h
cake_utils.sh clear
cake_utils.sh bake Group User Tag Post
cake_utils.sh tests