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 [26-09-2014 10:06] edmc73 [Ajouter ses class ou fonctions] |
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 ===== | ===== 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' | 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/ | 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 ===== | ||
Ligne 86: | Ligne 122: | ||
===== Ajouter ses class ou fonctions ===== | ===== Ajouter ses class ou fonctions ===== | ||
- | Ajoutez | + | Créez un fichier **helpers.php** dans par exemple **app/** puis ajoutez-le |
- | Pour ajouter un fichier | ||
- | include app_path().'/ | ||
- | Pour ajouter un répertoire contenant des fichiers de class, ajouter votre répertoire dans le ClassLoader | ||
<code php> | <code php> | ||
- | ClassLoader:: | + | <?php |
- | app_path().'/commands', | + | namespace App\Providers; |
- | app_path().'/ | + | |
- | app_path().'/ | + | use Illuminate\Support\ServiceProvider; |
- | app_path().'/database/seeds', | + | |
+ | class AppServiceProvider extends ServiceProvider | ||
+ | { | ||
+ | /** | ||
+ | * Bootstrap any application services. | ||
+ | * | ||
+ | * @return void | ||
+ | */ | ||
+ | | ||
+ | { | ||
+ | require_once(app_path().'/ | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Register any application services. | ||
+ | * | ||
+ | * @return void | ||
+ | */ | ||
+ | public function register() | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | } | ||
- | app_path().'/ | ||
- | )); | + | </ |
+ | |||
+ | |||
+ | |||
+ | |||
+ | 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 ===== | ||