0% ont trouvé ce document utile (0 vote)
29 vues20 pages

Laravel Resume

Ce document fournit un guide détaillé pour créer un projet complet avec Laravel, incluant l'installation, la configuration de la base de données, la création de modèles, migrations et contrôleurs. Il décrit également comment définir des routes, implémenter des méthodes CRUD, créer des vues et tester l'application. Enfin, il aborde des concepts avancés comme les migrations, les factories, les seeders et la validation des données.

Transféré par

hamidanh855
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues20 pages

Laravel Resume

Ce document fournit un guide détaillé pour créer un projet complet avec Laravel, incluant l'installation, la configuration de la base de données, la création de modèles, migrations et contrôleurs. Il décrit également comment définir des routes, implémenter des méthodes CRUD, créer des vues et tester l'application. Enfin, il aborde des concepts avancés comme les migrations, les factories, les seeders et la validation des données.

Transféré par

hamidanh855
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Fffff

4738062735662588

Pour créer un site projet complet avec Laravel, voici


toutes les étapes détaillées à suivre :
dfdasfdsa

4. Définir la structure de la table dans la migration :


Ouvrez la migration générée et définissez les colonnes de la
table etudiants :
public function up()
{
Schema::create('etudiants', function (Blueprint $table) {
$table->id();
$table->string('nom');
$table->date('prenom');
$table->unsignedInteger('superficie')->default(20); // Entier positif, défaut = 20

$table->string('email')->unique();

$table->enum('étage',['RDC','1','2','3']); // Seules ces valeurs sont autorisées

$table->decimal('prix')->nullable();

$table->boolean('classe');
$table->integer ('note');
$table->timestamps();
});
}
La maknche primary key dylna hewa id kandiro :
$table->strung(‘matricule’)->primary() ;

5. Exécuter la migration :
Exécutez la migration pour créer la table dans la base de données :

(‫)قم بتشغيل الهجرة إلنشاء الجدول في قاعدة البيانات‬

php artisan migrate

//La commande php artisan migrate:fresh est utilisée dans Laravel


pour supprimer toutes les tables de la base de données et exécuter à
nouveau toutes les migrations.

//tms7 dkchi 9dim wt3wdo be jdide

6. Créer un contrôleur
4738062735662588

Pour créer un site projet complet avec Laravel, voici


toutes les étapes détaillées à suivre :

1. Installer Laravel :
Si vous n'avez pas encore installé Laravel, commencez par créer un
nouveau projet Laravel :

composer create-project laravel/laravel nom-du-projet

Remplacez nom-du-projet par le nom de votre projet.

2. Configurer la base de données :


Ouvrez le fichier .env et configurez les informations de connexion à votre
base de données :
DB_CONNECTION=mysql
DB_HOST=[Link]
DB_PORT=3306
DB_DATABASE=nom_de_la_base
DB_USERNAME=root
DB_PASSWORD=votre_mot_de_passe

3. Créer un modèle et une migration :


Générez un modèle et une migration pour gérer les étudiants :

php artisan make:model Etudiant -m

Cela crée :

 Un modèle Etudiant dans app/Models/[Link]

 Une migration
dans database/migrations/xxxx_xx_xx_create_etudiants_table.php

// Créer un modèle et une migration et une Controller :

php artisan make:model Etudiant -mcrR


m : migration ; c : Controller ; r : ressués de controller ;R :
Request

4. Définir la structure de la table dans la migration :


Ouvrez la migration générée et définissez les colonnes de la
table etudiants :
public function up()
{
Schema::create('etudiants', function (Blueprint $table) {
$table->id();
$table->string('nom');
$table->date('prenom');
$table->unsignedInteger('superficie')->default(20); // Entier positif, défaut = 20

$table->string('email')->unique();

$table->enum('étage',['RDC','1','2','3']); // Seules ces valeurs sont autorisées

$table->decimal('prix')->nullable();

$table->boolean('classe');
$table->integer ('note');
$table->timestamps();
});
}
La maknche primary key dylna hewa id kandiro :
$table->strung(‘matricule’)->primary() ;

5. Exécuter la migration :
Exécutez la migration pour créer la table dans la base de données :

(‫)قم بتشغيل الهجرة إلنشاء الجدول في قاعدة البيانات‬

php artisan migrate

//La commande php artisan migrate:fresh est utilisée dans Laravel


pour supprimer toutes les tables de la base de données et exécuter à
nouveau toutes les migrations.

//tms7 dkchi 9dim wt3wdo be jdide

6. Créer un contrôleur
Générez un contrôleur pour gérer les opérations CRUD (Create, Read,
Update, Delete) :

php artisan make:controller EtudiantController


Cela_crée_un_contrôleur EtudiantController dans app/Http/Controllers/
[Link] avec les méthodes de base.

7. Définir les routes


Ouvrez_le fichier routes/[Link] et_ajoutez_les_routes pour le
contrôleur EtudiantController:

use App\Http\Controllers\EtudiantController;

Route::resource('etudiants', EtudiantController::class);

---// 2éme méthode pour définir les routes :

8. Implémenter les méthodes du contrôleur


Ouvrez [Link] et implémentez les méthodes pour
gérer les étudiants :
Explications des commentaires :

1. index() :

o Cette méthode récupère tous les étudiants de la base de


données et les passe à la vue [Link] pour afficher la
liste.

o ‫تعمل هذه الطريقة على استرجاع جميع الطالب من قاعدة البيانات وتمريرهم‬
‫ إلى عرض‬[Link] ‫لعرض القائمة‬.

2. create() :

o Cette méthode affiche le formulaire pour ajouter un nouvel


étudiant en retournant la vue [Link].

o ‫تعرض هذه الطريقة النموذج إلضافة طالب جديد عن طريق إرجاع عرض‬
[Link].

3. store(Request $request) :

o Cette méthode enregistre un nouvel étudiant dans la base de


données en utilisant les données du formulaire. Après l'ajout,
elle redirige vers la liste des étudiants.

o ‫تقوم هذه الطريقة بتسجيل طالب جديد في قاعدة البيانات باستخدام البيانات‬
‫ يتم إعادة التوجيه إلى قائمة الطالب‬،‫ بعد اإلضافة‬.‫الموجودة في النموذج‬.

4. // 4- Affiche un étudiant

5. edit($id) :

o Cette méthode récupère un étudiant spécifique par son ID et


affiche le formulaire de modification en utilisant la
vue [Link].

o ‫تعمل هذه الطريقة على استرجاع طالب معين عن طريق معرفه وعرض نموذج‬
‫ التحرير باستخدام عرض‬[Link].

6. update(Request $request, $id) :


o Cette méthode met à jour les informations d'un étudiant
existant en utilisant les données du formulaire. Après la mise à
jour, elle redirige vers la liste des étudiants.

o ‫تقوم هذه الطريقة بتحديث معلومات الطالب الحالي باستخدام البيانات‬


‫ بعد التحديث سيتم إعادة التوجيه إلى قائمة الطالب‬.‫الموجودة في النموذج‬.

7. destroy($id) :

o Cette méthode supprime un étudiant de la base de données


en fonction de son ID. Après la suppression, elle redirige vers
la liste des étudiants.

o ‫ بعد‬.‫تقوم هذه الطريقة بإزالة الطالب من قاعدة البيانات بناًء على معرفه‬
‫ يتم إعادة التوجيه إلى قائمة الطالب‬،‫الحذف‬.

[Link] app/Models/[Link], ajoute la propriété $fillable


et définis explicitement les champs à autoriser :

protected $primaryKey = 'CourseID'; //Clé primaire personnalisée

public $incrementing = false; // Désactive l'auto-


incrémentation
10. Créer les vues :
Créez un dossier etudiants dans resources/views et ajoutez les fichiers
suivants :

a. [Link] (Liste des étudiants) :

<!DOCTYPE html>
<html>
<head>
<title>Liste des Étudiants</title>
</head>
<body>
<h1>Liste des Étudiants</h1>
<a href="{{ route('[Link]') }}">Ajouter un
étudiant</a>
<table class="table">
<thead class="table-light">
<tr>
<th scope="col">#</th>
<th scope="col">Nom</th>
<th scope="col">Prénom</th>
<th scope="col">Email</th>
<th scope="col">Class</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach($etudiants as $etudiant)
<tr>
<td scope="row">{{ $etudiant->id }}</td>
<td >{{ $etudiant->nom }}</td>
<td>{{ $etudiant->prenom }}</td>
<td>{{ $etudiant->email }}</td>
<td>{{ $etudiant->class }}</td>
<td>
<a href="{{ route('[Link]', $etudiant-
>id) }}">Modifier</a>
<form action="{{ route('[Link]',
$etudiant->id) }}" method="POST">
@csrf
@method('DELETE')
<button type="submit" onclick="return
confirm('Êtes-vous sûr ?')" > Supprimer</button>

</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</body>
</html>
b. [Link] (Formulaire d'ajout)

c. [Link] (Formulaire de modification)


10. Tester l'application
Démarrez le serveur de développement Laravel :

php artisan serve .

I- Créer une migration pour ajouter une colonne :

a- Exécute cette commande dans ton terminal :

php artisan make:migration add_column_name_to_table_name --


table=table_name

b- Modifier la migration pour ajouter la colonne :


II- Créer une migration pour ajouter une clé
étrangère :
a- Exécute cette commande dans ton terminal :
php artisan make:migration add_user_id_to_products --
table=products

b- Modifier la migration pour ajouter la clé étrangère :

or ajouter on migration : $table->foreignId('filier_id')-


>constrained();

c- Ajouter on app/Models/[Link] :

$this->belongsTo(): 5dmha fche ukone jdwl dylk (etudiant)


fih cle estrange dyle jdwl a5ore (filiere_id)
$this->hasMany() : Filier ymkne ykone 3nd kter men
etudiant ( one-to-many )
$this->belongsToMany : many-to-many (n,n)
$this->hasOne : one-to-one (1,1)
d- Ajouter on app/Models/[Link] :
e- Afficher la liste des filières on etudiants\[Link] :

f- Afficher la liste des filières on etudiants\[Link] :

III- Factory :
1- Créer une Factory :
pour creer une factory executer la commande suivante:
php artisan make:factory EtudiantFactory --model=Etudiant
2- Définir les Données de la Factory : Dans le fichier
[Link], tu verras une méthode definition().
Tu peux la modifier comme suit :

liste des fonctions les plus utilisées avec fake() dans les factories :
email() ; phoneNumber() ; password() ; date() ; address();
IV- Seeders :
1- creer une sedeeder :
pour creer une sedeeder executer la commande suivante:

php artisan make:seeder EtudiantSeeder


2-Modifier le Seeder :
Ouvre database/seeders/[Link] et modifie la méthode run() :

-- taper la commande suivante pour executer la seeder:


php artisan db :seed - -class=EtudiantSeder

V- Validation en Laravel :
1. Validation dans un Contrôleur :
Dans un contrôleur, tu peux valider les données avec la méthode validate()
comme ceci :

‘date’ => ‘date_format :d/m/Y H:i :s’ ;


2. Validation avec une Form Request (Recommandée) :
a. Créer une Form Request
Utilise la commande :
php artisan make:request EtudiantRequest
b. Modifier la Form Request :
c. Utiliser la Form Request dans le Contrôleur :

Résumé de function back() :


Fonction Description
back() Retourne à la page précédente
back()->with('key', Retourne avec un message
'valeur') flash

back()- Retourne avec des erreurs de


>withErrors($errors) validation

z
3. Messages Personnalisés :
1ére methode :
2éme methode :

Partie2 : Afficher les messages d'erreur en Laravel


1. Afficher Tous les Messages d'Erreur :
2. Afficher un Message d'Erreur Spécifique pour un Champ:

3. Afficher un Message success :

VI- Les Layouts en Laravel (Blade Template) :


1. Créer un Layout Principal :
Dans resources/views/layouts/, crée un fichier
[Link] :
2. Créer une Vue qui Hérite du Layout :
Exemple : Fichier resources/views/[Link]:

Résumé des Principales Directives Blade :


Directive Description
@extends('layout') Indique que la vue hérite d'un
layout
@section('name') ... @endsection Définit une section de contenu
@yield('name') Emplacement où s'affichera une
section enfant
@include('view') Insère une autre vue (ex: menu,
footer)

VII. Components :
1. pour créere une component ecrire la commande suivante :
php artisan make :component alert

2. on votre component resources/views/components/alert:

3. affichage :

Vous aimerez peut-être aussi