Outils pour utilisateurs

Outils du site


devweb:laravel:start (lu 23662 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
devweb:laravel:start [07-06-2016 16:11]
edmc73
devweb:laravel:start [10-09-2017 18:18] (Version actuelle)
edmc73
Ligne 17: Ligne 17:
 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'installation de la version 4.1 avec la commande 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'installation de la version 4.1 avec la commande
   composer.phar create-project laravel/laravel=4.1.* nom-du-projet --prefer-dist   composer.phar create-project laravel/laravel=4.1.* nom-du-projet --prefer-dist
 +
 +===== Problème du début =====
 +
 +Sur une mariaDB, l'erreur suivante sur une migration
 +<code>
 + [Illuminate\Database\QueryException]
 +  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
 +
 +
 +
 +  [PDOException]
 +  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
 +</code>
 +Ajuster le **app/Providers/AppServiceProvider.php**
 +<code php>
 +use Illuminate\Support\Facades\Schema;
 +
 +public function boot()
 +{
 +    Schema::defaultStringLength(191);
 +}
 +</code>
 +
 +
  
 ===== Convention de nommage ===== ===== Convention de nommage =====
Ligne 98: Ligne 122:
 ===== Ajouter ses class ou fonctions ===== ===== Ajouter ses class ou fonctions =====
  
-Ajoutez dans **app/start/global.php**+Créez un fichier **helpers.php** dans par exemple **app/** puis ajoutez-le dans le **app/Providers/AppServiceProvider.php**
  
-Pour ajouter un fichier 
-  include app_path().'/monfichier.php'; 
  
-Pour ajouter un répertoire contenant des fichiers de class, ajouter votre répertoire dans le ClassLoader 
 <code php> <code php>
-ClassLoader::addDirectories(array(+<?php
  
- app_path().'/commands', +namespace App\Providers; 
- app_path().'/controllers', + 
- app_path().'/models', +use Illuminate\Support\ServiceProvider; 
- app_path().'/database/seeds',+ 
 +class AppServiceProvider extends ServiceProvider 
 +
 +    /** 
 +     * Bootstrap any application services. 
 +     * 
 +     * @return void 
 +     *
 +    public function boot() 
 +    { 
 +        require_once(app_path().'/helpers.php'); 
 +    } 
 + 
 +    /** 
 +     * Register any application services. 
 +     * 
 +     * @return void 
 +     */ 
 +    public function register() 
 +    { 
 +        // 
 +    } 
 +}
  
- app_path().'/mesClass', 
  
-));+</code> 
 + 
 + 
 + 
 + 
 +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/MyClass/MaClass.php 
 + 
 +<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; 
 +*/
 </code> </code>
 ===== 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, 'fr_FR.UTF-8');   setlocale(LC_ALL, 'fr_FR.UTF-8');
-  + 
 +Même remarque pour mettre Carbon en français 
 +  Carbon::setLocale(config('app.locale')); 
 + 
 +La config app.locale doit être à **fr**
 ===== Intégrer le framework en dehors de public ===== ===== Intégrer le framework en dehors de public =====
  
devweb/laravel/start.1465308698.txt.gz · Dernière modification: 07-06-2016 16:11 de edmc73