Laravel
Models Migration Relation
Introduction Installation Projet:Structure Strucutre,model,migration Migration,Models,Relation Artisan CLI Migrations:Exemples Models:Exemples Relations:Exemples 1 Relations:Exemples 2
Les Relations
BelongsTo HasOne HasMany BelongsToMany HasManyThrough
Exemples des Relations
Relations:oneToMany,ManyToMany... Relations:Exemples
Exercices
Exercice 1 Exercice 2
Controllers Views Routes
Routes,Controller,Model,view
Les Routes
Définir:Routes Routes avec Paramètres Routes nommées Groupes de routes
Les Controllers
Les Controllers Les Contrôleurs de Ressources
Les Vues
Vues et Blade Templates Blade Layouts et Sections Sous-vues Composants et Slots Contrôles de flux
MVC :CRUD
CRUD: Produit CRUD: Etudiant CRUD: Car CRUD,Recherche: Book
Validation
Exemple :Projets
ORM:Eloquent
Exemple :Transport
Api:Laravel +React
Middleware

Seeders & Factories
Exemples :EFM

Authenfication
TP:Schools Management
Authenfication:React
Layouts
Exercices





```html Cours sur la Structure de Répertoires dans Laravel

Cours sur la Structure de Répertoires dans Laravel

Laravel est conçu pour être simple, mais puissant, et cela se reflète dans sa structure de répertoires. Comprendre cette structure est essentiel pour développer efficacement des applications avec ce framework. Ce cours détaillera chaque répertoire et fournira des exemples d'utilisation.

Structure de Répertoires de Laravel

Une fois que vous avez installé Laravel, vous verrez les répertoires suivants dans votre projet :

/project-root
├── app
├── bootstrap
├── config
├── database
├── public
├── resources
├── routes
├── storage
├── tests
├── vendor
├── .env
├── artisan
├── composer.json
└── package.json

    

1. Répertoire app

Le répertoire app contient le cœur de votre application. C'est ici que vous allez écrire la majeure partie de votre code.

Sous-répertoires courants :

  • Console : Contient les commandes Artisan personnalisées.
  • Exceptions : Contient les gestionnaires d'exceptions.
  • Http : Contient les contrôleurs, middlewares et requêtes.
  • Models : Contient les modèles Eloquent.
  • Providers : Contient les fournisseurs de services.

Exemple : Création d'un Contrôleur

php artisan make:controller UserController

Cela crée un fichier UserController.php dans app/Http/Controllers.

2. Répertoire bootstrap

Le répertoire bootstrap contient les fichiers de démarrage de l'application et configure l'autoloader.

Fichiers courants :

  • app.php : Initialise le framework.

Exemple : Personnalisation de l'Application

// bootstrap/app.php
$app->singleton(
    Illuminate\Contracts\Http\Kernel::class,
    App\Http\Kernel::class
);

3. Répertoire config

Le répertoire config contient tous les fichiers de configuration de l'application.

Exemple : Configuration de la Base de Données

// config/database.php
'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
],

4. Répertoire database

Le répertoire database contient les migrations, les seeds, et les factories.

Sous-répertoires courants :

  • factories : Contient les factories pour les tests.
  • migrations : Contient les migrations de la base de données.
  • seeders : Contient les seeders de la base de données.

Exemple : Création d'une Migration

php artisan make:migration create_users_table

5. Répertoire public

Le répertoire public contient le point d'entrée de l'application, index.php, ainsi que les fichiers publics comme les images, les scripts JavaScript, et les feuilles de style CSS.

Fichiers courants :

  • index.php : Point d'entrée de toutes les requêtes.

Exemple : Accès aux Fichiers Publics

<link rel="stylesheet" href="{{ asset('css/app.css') }}">

6. Répertoire resources

Le répertoire resources contient les vues, les assets non compilés (SASS, JavaScript), et les fichiers de traduction.

Sous-répertoires courants :

  • views : Contient les vues Blade.
  • lang : Contient les fichiers de traduction.
  • js : Contient les fichiers JavaScript.
  • sass : Contient les fichiers SASS.

Exemple : Création d'une Vue

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
    <h1>Welcome to Laravel</h1>
</body>
</html>

7. Répertoire routes

Le répertoire routes contient tous les fichiers de définition des routes.

Fichiers courants :

  • web.php : Routes web.
  • api.php : Routes API.

Exemple : Définition d'une Route

// routes/web.php
Route::get('/users', [UserController::class, 'index']);

8. Répertoire storage

Le répertoire storage contient les logs, les fichiers de cache, et d'autres fichiers générés par l'application.

Sous-répertoires courants :

  • app : Contient les fichiers générés par l'application.
  • framework : Contient les fichiers de cache et les sessions.
  • logs : Contient les fichiers de logs.

Exemple : Enregistrement d'un Fichier

Storage::put('file.txt', 'Contents');

9. Répertoire tests

Le répertoire tests contient les tests unitaires et fonctionnels de votre application.

Sous-répertoires courants :

  • Feature : Contient les tests fonctionnels.
  • Unit : Contient les tests unitaires.

Exemple : Création d'un Test

php artisan make:test UserTest

10. Répertoire vendor

Le répertoire vendor contient les dépendances installées via Composer. Vous ne devez jamais modifier les fichiers de ce répertoire directement.

11. Fichiers Racine

.env

Le fichier .env contient les variables d'environnement spécifiques à votre application.

artisan

Le fichier artisan est l'interface de ligne de commande pour Laravel.

composer.json

Le fichier composer.json contient les dépendances et les informations sur le projet.

package.json

Le fichier package.json contient les dépendances et les scripts pour les outils front-end comme Laravel Mix.

Conclusion

Comprendre la structure de répertoires de Laravel est crucial pour développer efficacement des applications. Chaque répertoire a un rôle spécifique et est conçu pour faciliter la gestion et l'organisation de votre code. En suivant ce guide, vous devriez maintenant avoir une bonne compréhension de la structure de base de Laravel et de la manière dont chaque composant interagit avec les autres.

```