Skip to content

Instantly share code, notes, and snippets.

@aliastim
Last active November 8, 2018 16:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aliastim/d870c26be0b617cb7d8efcf9d9654fe0 to your computer and use it in GitHub Desktop.
Save aliastim/d870c26be0b617cb7d8efcf9d9654fe0 to your computer and use it in GitHub Desktop.

Les bases pour débuter un projet en Laravel 👨‍💻

Voici quelques trucs et astuces basiques mais très utiles lorsque l'on démarre un nouveau projet avec le framework PHP le plus utilisé au monde : LARAVEL

Prérequis

Il est conseillé d'avoir la dernière version de composer et la dernière version de node et npm

Création d'un projet sous Laravel

composer create-project laravel/laravel NomDuProjet

Lancement du serveur PHP

php artisan serve

Quelques points à savoir

Laravel c'est quoi ?

Laravel est un framework PHP développé aux Etat-Unis et constitue l'une des technologies les plus utilisées en entreprise. Il s'agit d'un MVC (Method View Controller) qui va nous permettre de développer proprement et de manière sécurisée en orienté objet.

Il fonctionne avec le modèle de template "Blade" (semblable à Twig) qui se présente sous la forme d'un fichier de type "NomDuFichier.blade.php"

Le frameword Bootstrap est déjà installé

Emplacements des fichiers principaux

Pour ajouter une feuille de style "style.css", la créer dans public -> css puis l'appeler en ajoutant la ligne de code <link href="{{ asset('css/style.css') }}" rel="stylesheet">dans app.blade.php.

Les vues sont situées dans resources -> views

Les contrôleurs sont situés dans Http -> controllers

Les classes sont situées dans app

Les routes sont à ajouter dans routes -> web.php

Mise en place de la Base de données

Pour synchroniser, notre projet Laravel avec la bdd, il s'agit simplement de trouver le fichier .env et de modifier quelques lignes de code :

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=NomDeMaBDD
DB_USERNAME=root
DB_PASSWORD=root

⚠️ QUAND ON FAIT UNE MODIFICATION DANS LE .env, IL FAUT RELANCER PHP ARTISAN SERVE

(Astuce : Pour rechercher un fichier rapidement sur l'IDE PhpStorm, taper cmd + maj + o)

Mettre à jour sa BDD

php artisan migrate

Pour annuler la dernière modification dans sa BDD

php artisan migrate:rollback

Quelques commandes supplémentaires pour sa BDD

Pour créer sa bdd (Préférer php artisan migrate) : php artisan migrate:install
Pour créer une table dans la base de données : php artisan make:migration create_NomTable_table —-create
Pour mettre à jour une table : php artisan make:migration update_NomTable_table —-table=NomTable

Pour créer un formulaire de connexion simplement

Contient un formulaire de connexion et un formulaire d'inscription, penser à mettre à jour sa bdd avec php artisan migrate

php artisan make:auth

Mise en place d'un contrôleur

Le contrôleur sert à retourner une vue et ajouter des variables à faire passer à la vue si nécessaire.
Chaque vue doit être associée à un contrôleur pour fonctionner ou simplement être appelée.

php artisan make:controller NomDuContrôleur

Pour retourner une variable à une vue, il est nécessaire de faire passer sa variable à l'aide la fonction compact(), exemple :

<?php

namespace App\Http\Controllers;

use App\User;
use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function users()
    {
       
        //Permet de charger tout le contenu de la table User
        $users = User::all();

        return view('users.index', compact('users'));

    }
}

Pour créer la route qui renvoie la méthode d'un contrôleur, dans web.php, ajouter la route correspondante avec la méthode get. La 1ère partie contitue l'URL qui mène à la vue choisie, la 2ème correspond au contrôleur et à la méthode appelée,
exemple :

Route::get('/users', 'UserController@users');

Pour créer une classe

php artisan make:model NomDeClasse

Pour afficher les routes dans le terminal

php artisan route:list

Pour afficher TOUTES LES COMMANDES

php artisan
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment