composer create-project --prefer-dist laravel/laravel nom_projet
composer require barryvdh/laravel-debugbar:~2.4
A rajouter pour activer la barre de debug dans config->app.php en dessous de
Application Service Providers... :
Barryvdh\Debugbar\ServiceProvider::class,
'Debugbar' => Barryvdh\Debugbar\Facade::class,
installer ce paquet via Composer https://laravelcollective.com/docs/5.2/html
composer require "laravelcollective/html":"^5.2.0"
Ensuite, ajoutez votre nouveau fournisseur au providers tableau de :config/app.php
'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
Enfin, ajoutez deux alias de classe au aliases tableau de :config/app.php
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
Contient tout les dossiers avec le code html
Contient les trajets pour diriger vos Views
C'est le boss, c'est lui qui va appeller toute les fonctions placé dans le repository et lui passé les paramètre pour que le repository marche
Pour le dire simplement, le modèle Repository est un type de conteneur où la logique d'accès aux données est stockée. Il cache les détails de la logique d'accès aux données de la logique métier. En d'autres termes, nous permettons à la logique métier d'accéder à l'objet de données sans connaître l'architecture d'accès aux données sous-jacente.C'est le feu.
C'est la ou on fera les controles de saisi, par exemple max 60 caractere ect...
php artisan
php artisan make:controller NomControler
Il faut crée la page 404 dans ce dossier
resources/views/errors/404.blade.php
Laravel s'occupe du reste
php artisan make:auth
Ensuite il faut inserer dans web.php:
Auth::routes(); //Auth::routes() génère automatiquement toutes les routes de l'authentification
Route::get('profile', ['middleware' => 'auth', 'uses' => 'ProfileController@show']);
Laravel fournit le auth
middleware par défaut pour restreindre
https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/l-authentification-1 https://laravel.com/docs/5.0/authentication#protecting-routes //Pour toute questions sur l'aut regarder la doc elle explique tout
Vous pouvez personnaliser l'emplacement de redirection post-authentification en définissant une redirectTopropriété sur le
-
LoginController,
-
RegisterControlleret,
-
ResetPasswordController
Voici le code a mettre :
protected function redirectTo()
{
return '/path';
}
Aller dans le dossier AuthenticatesUsers
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return redirect('/'); // Changer le '/' par l'url que vous voulez
}
Pour voir les routes rechercher la class
Router
et ensuite recherche dans cet class la fonctionauth
faut indiquer où se trouve votre base, son nom, le nom de l'utilisateur, le mot de passe dans le fichier de configuration.env
php artisan migrate:install
Cela va nous permettre de suivre toute nos changement de migration par exemple si on a crée une base de donner ect..
php artisan make:migration create_emails_table
Configurer la migration en creant les id ect... https://laravel.com/docs/5.5/migrations#creating-columns
php artisan migrate
php artisan migrate:reset
Annule la dernière migration effectuée:
php artisan migrate:rollback
https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/migrations-et-modeles-1#/id/r-3617345 :
php artisan make:model Email
php artisan make:request EmailRequest
(unique = pas deux fois le meme nom dans la table) Exemple de validation demander:
public function authorize()
{
return true;
}
public function rules()
{
return [
'titre' => 'required|max:80',
'contenu' => 'required',
'tags' => ['Regex:/^[A-Za-z0-9-éèàù]{1,50}?(,[A-Za-z0-9-éèàù]{1,50})*$/']
];
}
http://www.laravelsd.com/ https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-commandes-et-les-assistants#/id/r-3618715
DatabaseSeeder.php deja la par default A l'interieur de se dossier remplir la function
run()
exemple:
public function run()
{
$this->call(UserTableSeeder::class); // Relier au fichier UserTableSeeder.php
$this->call(EmailTableSeeder::class); // Relier au fichier EmailTableSeeder.php
}
Commande pour crée les deux fichier en question:
php artisan make:seeder UserTableSeeder
Exemple de ce qu'il faudrait metre pour la table users:
public function run()
{
DB::table('users')->delete();
for($i = 0; $i < 10; ++$i)
{
DB::table('users')->insert([
'name' => 'Nom' . $i,
'email' => 'email' . $i . '@blop.fr',
'password' => bcrypt('password' . $i),
'admin' => rand(0, 1)
]);
}
}
Il suffit maintenant d'utiliser la commande d'Artisan remplir nos tables
php artisan db:seed
La classe Carbon, issue d'un package chargé par Laravel, permet la manipulation facile des dates. N'hésitez pas à l'utiliser dès que vous avez des dates à gérer.
Vous devez ajouter cet ligne dans le fichier dans lequel vous utiliserez des dates
use Carbon\Carbon;
Exemple:
use Illuminate\Database\Seeder;
use Carbon\Carbon;
class PostTableSeeder extends Seeder {
private function randDate()
{
return Carbon::createFromDate(null, rand(1, 12), rand(1, 28));
}
public function run()
{
DB::table('posts')->delete();
for($i = 0; $i < 100; ++$i)
{
$date = $this->randDate();
'created_at' => $date,
'updated_at' => $date
]);
}
}
Url doc: http://carbon.nesbot.com/docs/
Acceder au fichier
validation.php
ensuite:
<?php
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
C'est ici qu'on peut ajouter des messages spécifiques exemple :
<?php
'custom' => [
'tags' => [
'regex' => "tags, separated by commas (no spaces), should have a maximum of 50 characters.",
],
],