Laravel ist ein kostenloses Open-Source-PHP-Web-Framework, das von Taylor Otwell erstellt und für die Entwicklung von Webanwendungen nach dem Architekturmuster für Modell-View-Controller (MVC) und basierend auf Symfony bestimmt ist. Einige der Merkmale von Laravel sind ein modulares Verpackungssystem mit einem dedizierten Abhängigkeitsmanager, verschiedene Möglichkeiten für den Zugriff auf relationale Datenbanken, Dienstprogramme, die bei der Bereitstellung und Wartung der Anwendungen helfen, und deren Ausrichtung auf syntaktischen Zucker.
Die Modellkomponente entspricht der gesamten datenbezogenen Logik, mit der der Benutzer arbeitet. Dies kann entweder die Daten darstellen, die zwischen den Ansichts- und Controller-Komponenten oder anderen Geschäftsdaten übertragen werden.
Ordner: App/
Die Ansichtskomponente wird für die gesamte UI -Logik der Anwendung verwendet.
Ordner: Ressourcen/Ansichten
Controller fungieren als Schnittstelle zwischen Modell- und Ansichtskomponenten, um alle Geschäftslogik- und eingehenden Anforderungen zu verarbeiten, Daten mithilfe der Modellkomponente zu manipulieren und mit den Ansichten zu interagieren, um die endgültige Ausgabe zu rendern.
Ordner: App/HTTP/Controller
Anforderung für dieses Projekt:
"php": "^7.1.3",
"laravel/framework": "5.7.*",
Laravel Setup:
Install PHP 7.1.3
Instal MySQL
Install Composer
Aktualisieren Sie den Herstellerordner:
composer update
or
composer install
Geben Sie CMD ein, um ein Projekt zu erstellen:
composer global require "laravel/installer"
laravel new blogname
Überprüfen Sie den verfügbaren Befehl oder eine Referenz in Laravel
php artisan list
php artisan help [command name]
ex. php artisan help make:model
Laravel laufen
php artisan serve
or
in browser http://localhost/laravel/magelaravel/public/
Setup -Datenbank in .Env einrichten
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homested
DB_USERNAME=homestead
DB_PASSWORD=secret
Setup -Authentifizierung (optional):
php artisan make:auth
Datenbankkonfiguration einrichten
php artisan migrate
php artisan migrate:refresh //if you want to change laravel model
E -Mail zum Testzweck einrichten
MAIL_DRIVER=log
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
or
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mageCE0721
MAIL_ENCRYPTION=tls
SETUP HOMECONTROLLER Setzen Sie die Website der Website ein. App/http/Controller/homecontroller.php
public function index()
{
$post = Post::all();
return view( 'index' , ['post' => $post ]);
}
public function detail(Request $request)
{
$post = Post::find($request->post);
return view('detail' , ['post' => $post ]);
}
public function home()
{
$post = Post::all();
return view( 'home' , ['post' => $post ]);
}
public function edit(Request $request)
{
$post = Post::find($request->idpost);
return view( 'edit' , ['post' => $post ]);
}
Modell, Controller, Migration für Post erstellen
php artisan make:controller PostController
php artisan make:model Post
php artisan make:migration create_post_table --create=posts
or
php artisan make:model Post -mc
Machen Sie CRUD (Erstellen Sie das Lesen von Update löschen) und geben Sie alle in postcontroller.php ein, um die Datenverwaltungs -App/http/Controller/postcontroller.php zu steuern
public function create(Request $request)
{
// Validate the request...
$request->validate([
'title' => 'required',
'content' => 'required',
]);
$post = new Post;
$post->title = $request->title;
$post->content = $request->content;
$post->username = auth()->user()->name;//auth()->id()
$post->save();
return back();
}
public function update(Request $request)
{
// Validate the request...
$request->validate([
'title' => 'required',
'content' => 'required',
]);
$post = Post::find($request->idpost);
$post->title = $request->title;
$post->content = $request->content;
$post->save();
return redirect('/home');
}
public function delete(Request $request)
{
$post = Post::find($request->idpost);
$post->delete();
return back();
}
Um den Controller in den Routen/web.php zu verwenden, können Sie Ihren Code direkt in Routen/web.php einfügen. Es wird jedoch eher empfohlen, ihn in die App/HTTP/Controller einzulegen, um Ihren Code organisatorischer zu gestalten
Route::get('/', 'HomeController@index');
Route::get('/detail/{post}', 'HomeController@detail');
Auth::routes();
Route::get('/home', 'HomeController@home')->name('home');
Route::get('/home/edit/{idpost}', 'HomeController@edit');
Route::post('/post/create', 'PostController@create');
Route::post('/post/update/{idpost}', 'PostController@update');
Route::get('/post/delete/{idpost}', 'PostController@delete');
Verwalten Sie die Ansicht der Website mit Blade -Vorlage. Wenn Sie die Blade -Vorlage verwenden, erleichtern Sie die HTML -Seite. Beispiel:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8">
@foreach ($post as $p)
<p>
<h4><a href="/detail/{{$p->id}}">{{ $p->title }}</a></h4>
{{ $p->created_at->toFormattedDateString() }} <span style="float:right">Author : {{ $p->username }}</span>
</p>
@endforeach
</div>
</div>
</div>
@endsection
In Laravel gibt es zwei Möglichkeiten, die Datenbank zu steuern. Mit Querybuilder und eloquent. Eloquent wird von Laravel erstellt, um die Verwaltung der Datenbank zu vereinfachen
Get Data Example with Query Bulider
DB::table('users')->get();
DB::table('users')->where('name', 'John')->first();
Get Data Example with Eloquent
AppFlight::all();
AppFlight::where('active', 1)->orderBy('name', 'desc')->take(10)->get();
Dass einige der Grundlagen Laravel verwenden. Sie können dieses Projekt als Referenz verwenden. Führen Sie dieses Projekt auf Ihrem eigenen Computer aus, um zu sehen, wie einfach Laravel funktioniert.