53 0 416KB
Table des matières
APPRENDRE LES BASES DU FRAMEWORK LARAVEL.............................................................................3 DIRECTORY STRUCTURE.........................................................................................................................3 APPLICATION SIMPLE RESTAURANT AVEC LARAVEL.............................................................................5 CREATION DU PROJET........................................................................................................................5 Création du projet et téléchargement des données auth.............................................................5 Création des models et migrations................................................................................................5 Création des controller..................................................................................................................6 Création des Routes (resources)....................................................................................................6 CATEGORY SECTION...........................................................................................................................7 Ajouter une catégorie....................................................................................................................7 Afficher la liste des catégories créée.............................................................................................8 Modifier les catégories :..............................................................................................................10 Supprimer category.....................................................................................................................11 FOOD SECTION.................................................................................................................................12 Form for food...............................................................................................................................12 Store the food information..........................................................................................................15 List of food...................................................................................................................................16 Paginate.......................................................................................................................................17 Relation 1 à n...............................................................................................................................18 Edit Food......................................................................................................................................18 Delete food information..............................................................................................................21 Afficher les liens seulement quand on se connecte....................................................................22 Cacher le bouton register sur la page d’accueil...........................................................................22 Ajouter des middlewares..............................................................................................................22 FRONTEND.......................................................................................................................................23 APPLICATION SIMPLE RESTAURANT AVEC LARAVEL...........................................................................24 CREATION DU PROJET......................................................................................................................24 Création du projet et téléchargement des données auth...........................................................24 Création des models et migrations..............................................................................................24 Création des controller................................................................................................................25 Création des Routes (resources)..................................................................................................25 CATEGORY SECTION.........................................................................................................................25 Ajouter une catégorie..................................................................................................................25 Scription auto-close alert.............................................................................................................26 Afficher la liste des catégories créée...........................................................................................27 1
Modifier les catégories :..............................................................................................................29 Supprimer category.....................................................................................................................31 SUBCATEGORY SECTION..................................................................................................................32 Migration et model......................................................................................................................32 Create Subcategory......................................................................................................................32 Validate and Store the Subcategory information.......................................................................34 List of Subcategory.......................................................................................................................34 Update Subcategory....................................................................................................................36 Delete subcategory......................................................................................................................38 Afficher les liens seulement quand on se connecte....................................................................38 Cacher le bouton register sur la page d’accueil...........................................................................38 Ajouter des middlewares..............................................................................................................38 MODIFIER PAGE ACCUEIL................................................................................................................39 PRODUCT SECTION..........................................................................................................................40 Migration et model......................................................................................................................40 Create Product.............................................................................................................................40 Summernote JS et CSS.................................................................................................................43 Validate form...............................................................................................................................43 Ajax dependent dropdown..........................................................................................................44 Store product...............................................................................................................................44 List of product with Datatable.....................................................................................................45 Update Product............................................................................................................................47 Delete Product.............................................................................................................................49 MIGRATION OF USERS TABLE & SEEDER.........................................................................................49 Migration.....................................................................................................................................49
2
APPRENDRE LES BASES DU FRAMEWORK LARAVEL DIRECTORY STRUCTURE Le répertoire des applications Le répertoire de l'application contient le code principal de votre application. Nous explorerons bientôt ce répertoire plus en détail ; cependant, presque toutes les classes de votre application seront dans ce répertoire. Le répertoire Bootstrap Le répertoire bootstrap contient le fichier app.php qui amorce le framework. Ce répertoire contient également un répertoire de cache qui contient des fichiers générés par le framework pour l'optimisation des performances, tels que les fichiers de cache d'itinéraire et de services. Le répertoire de configuration Le répertoire de configuration, comme son nom l'indique, contient tous les fichiers de configuration de votre application. C'est une excellente idée de lire tous ces fichiers et de vous familiariser avec toutes les options qui s'offrent à vous. Le répertoire de base de données Le répertoire de base de données contient vos migrations de base de données, vos fabriques de modèles et vos semences. Si vous le souhaitez, vous pouvez également utiliser ce répertoire pour contenir une base de données SQLite. L'annuaire public Le répertoire public contient le fichier index.php, qui est le point d'entrée de toutes les requêtes entrant dans votre application et configure le chargement automatique. Ce répertoire héberge également vos ressources telles que les images, JavaScript et CSS. Le répertoire des ressources Le répertoire de ressources contient vos vues ainsi que vos actifs bruts non compilés tels que LESS, SASS ou JavaScript. Ce répertoire contient également tous vos fichiers de langue. Le répertoire des routes Le répertoire routes contient toutes les définitions d'itinéraire pour votre application. Par défaut, plusieurs fichiers de routes sont inclus avec Laravel: web.php, api.php, console.php et channels.php. Le fichier web.php contient les itinéraires que RouteServiceProvider place dans le groupe middleware Web, qui fournit l'état de session, la protection CSRF et le cryptage des cookies. Si votre application n'offre pas d'API RESTful sans état, toutes vos routes seront probablement définies dans le fichier web.php. Le fichier api.php contient les routes que RouteServiceProvider place dans le groupe de middleware api, ce qui permet de limiter le débit. Ces routes sont destinées à être sans état, de sorte que les requêtes entrant dans l'application via ces routes sont destinées à être authentifiées via des jetons et n'auront pas accès à l'état de session. 3
Le fichier console.php est l'endroit où vous pouvez définir toutes vos commandes de console basées sur Closure. Chaque fermeture est liée à une instance de commande permettant une approche simple pour interagir avec les méthodes IO de chaque commande. Même si ce fichier ne définit pas les routes HTTP, il définit des points d'entrée (routes) basés sur la console dans votre application. Le fichier channels.php est l'endroit où vous pouvez enregistrer tous les canaux de diffusion d'événements pris en charge par votre application. Le répertoire de stockage Le répertoire de stockage contient vos modèles Blade compilés, des sessions basées sur des fichiers, des caches de fichiers et d'autres fichiers générés par le framework. Ce répertoire est séparé en répertoires d'applications, d'infrastructure et de journaux. Le répertoire de l'application peut être utilisé pour stocker tous les fichiers générés par votre application. Le répertoire du framework est utilisé pour stocker les fichiers et les caches générés par le framework. Enfin, le répertoire logs contient les fichiers journaux de votre application. Le répertoire storage / app / public peut être utilisé pour stocker des fichiers générés par l'utilisateur, tels que des avatars de profil, qui devraient être accessibles au public. Vous devez créer un lien symbolique sur public / storage qui pointe vers ce répertoire. Vous pouvez créer le lien en utilisant la commande php artisan storage: link. Le répertoire des tests Le répertoire des tests contient vos tests automatisés. Un exemple de test PHPUnit est fourni prêt à l'emploi. Chaque classe de test doit être suffixée du mot Test. Vous pouvez exécuter vos tests en utilisant les commandes phpunit ou php vendor / bin / phpunit. Le répertoire des fournisseurs Le répertoire du fournisseur contient vos dépendances de Composer.
4
APPLICATION SIMPLE RESTAURANT AVEC LARAVEL. CREATION DU PROJET Création du projet et téléchargement des données auth >composer create-project --prefer-dist laravel/laravel PSL >cd PSL > composer require laravel/ui >php artisan ui bootstrap –-auth >npm install >npm run dev
>php artisan ui bootstrap --auth
Création des models et migrations > php artisan make:model Employe -m > php artisan make:model Service -m Employe Migration >database>migrations>employes_tables public function up() { Schema::create('employes', function (Blueprint $table) { $table->id(); $table->integer('matricule'); $table->string('nom'); $table->string('prenoms'); $table->string('sexe'); $table->date('naissance'); $table->integer('contact'); $table->string('commentaire'); $table->timestamps(); }); }
Service Migration >database>migrations>services_tables 5
public function up() { Schema::create('services', function (Blueprint $table) { $table->id(); $table->string('nom'); $table->timestamps(); }); }
Fillable Employe >app>Employe class Employe extends Model { protected $fillable =['matricule','nom','prenoms','sexe','naissance','cont act','commentaire']; }
Fillable Service >app>Service class Service extends Model { protected $fillable = ['name']; }
Création des controller Employe controller > php artisan make:controller EmployeController -r Service controller > php artisan make:controller ServiceController -r
Création des Routes (resources) Employe route && service route Route::resource('employe','EmployeController'); Route::resource('service','ServiceController');
6
CATEGORY SECTION Ajouter une catégorie - Créer le fichier create.blade.php dans category Code : @extends('layouts.app') @section('content')
@if(Session::has('message')) {{Session::get('message')}} @endif {{ __("Gestionnaire des services: Cré ation d'un nouveau service") }} @csrf Entrer le nom du service Description Enregistrer 7
@endsection
- Modifier les fonctions create et strore dans CategoryController Code : public function create() { return view ('service.create'); }
public function store(Request $request) { Service::create([ 'nom'=>$request->get('nom'), 'description'=>$request->get('description') ]); return redirect()->back()->with('message','Nouveau service ajouté avec succès'); }
Afficher la liste des catégories créée - Creé un fichier index.blade.php dans le dossier category Code : @extends('layouts.app') @section('content')
@if(Session::has('message')) {{Session::get('message')}} @endif {{ __('Liste de service de PSL') } } 8
{{Session::get('message')}}
@endif Food List