Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
devweb:laravel:start [16-04-2014 21:59] edmc73 |
devweb:laravel:start [10-09-2017 18:18] (Version actuelle) edmc73 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Laravel ====== | ====== Laravel ====== | ||
+ | |||
+ | ===== Documentation ===== | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | |||
+ | Tuto en français | ||
+ | |||
+ | * http:// | ||
+ | * https:// | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | |||
+ | FIXME | ||
+ | La dernière version 4.2 bug sous chrome et je n'ai pas trouvé de solution pour que ça marche, il faut donc forcer l' | ||
+ | composer.phar create-project laravel/ | ||
+ | |||
+ | ===== Problème du début ===== | ||
+ | |||
+ | Sur une mariaDB, l' | ||
+ | < | ||
+ | | ||
+ | SQLSTATE[42000]: | ||
+ | |||
+ | |||
+ | |||
+ | [PDOException] | ||
+ | SQLSTATE[42000]: | ||
+ | </ | ||
+ | Ajuster le **app/ | ||
+ | <code php> | ||
+ | use Illuminate\Support\Facades\Schema; | ||
+ | |||
+ | public function boot() | ||
+ | { | ||
+ | Schema:: | ||
+ | } | ||
+ | </ | ||
+ | |||
===== Convention de nommage ===== | ===== Convention de nommage ===== | ||
+ | Laravel Schema Designer => http:// | ||
+ | |||
<note important> | <note important> | ||
Ligne 20: | Ligne 62: | ||
Champ: id, article_id, user_id, contenu...</ | Champ: id, article_id, user_id, contenu...</ | ||
+ | Si on veut faire une table pivot, on nomme la table par ordre alphabétique du nom au singulier des deux tables concernées et elle doit contenir les 2 clés étrangères correspondantes | ||
+ | < | ||
+ | Champ: article_id, commentaire_id</ | ||
+ | |||
+ | |||
+ | D' | ||
===== Models et relation ===== | ===== Models et relation ===== | ||
Ligne 74: | Ligne 122: | ||
===== Ajouter ses class ou fonctions ===== | ===== Ajouter ses class ou fonctions ===== | ||
- | Ajoutez | + | Créez un fichier **helpers.php** |
- | include app_path().' | + | |
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | |||
+ | namespace App\Providers; | ||
+ | |||
+ | use Illuminate\Support\ServiceProvider; | ||
+ | |||
+ | class AppServiceProvider extends ServiceProvider | ||
+ | { | ||
+ | /** | ||
+ | * Bootstrap any application services. | ||
+ | * | ||
+ | * @return void | ||
+ | */ | ||
+ | public function boot() | ||
+ | { | ||
+ | require_once(app_path().'/ | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Register any application services. | ||
+ | * | ||
+ | * @return void | ||
+ | */ | ||
+ | public function register() | ||
+ | { | ||
+ | // | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Pour ajouter un répertoire contenant des fichiers de class, Créez par exemple un dossier **app\MyClass** et posez votre fichier de class suivant la norme psr-4 | ||
+ | |||
+ | exemple : | ||
+ | vi app/ | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | |||
+ | // important ! | ||
+ | namespace App\MyClass; | ||
+ | |||
+ | // le nom de la class doit être le même que le nom du fichier | ||
+ | class MaClass | ||
+ | { | ||
+ | |||
+ | } | ||
+ | |||
+ | /* | ||
+ | Pour utiliser cette class dans un autre fichier, ajoutez | ||
+ | use App\MyClass\MaClass; | ||
+ | */ | ||
+ | </ | ||
===== Mettre en français strftime ===== | ===== Mettre en français strftime ===== | ||
- | Ajoutez dans **app/start/global.php** | + | Ajoutez dans la fonction boot **app/Providers/AppServiceProvider.php** |
setlocale(LC_ALL, | setlocale(LC_ALL, | ||
- | | + | |
+ | Même remarque pour mettre Carbon en français | ||
+ | Carbon:: | ||
+ | |||
+ | La config app.locale doit être à **fr** | ||
===== Intégrer le framework en dehors de public ===== | ===== Intégrer le framework en dehors de public ===== | ||