Laravel هو إطار ويب مجاني ومفتوح المصدر ، تم إنشاؤه بواسطة Taylor Otwell ويهدف إلى تطوير تطبيقات الويب بعد النمط المعماري للمواصفات والسيطرة (MVC) واستنادًا إلى symfony. بعض ميزات Laravel عبارة عن نظام تعبئة وحدات مع مدير تبعية مخصص ، وطرق مختلفة للوصول إلى قواعد البيانات العلائقية ، والمرافق التي تساعد في نشر التطبيق وصيانته ، وتوجهه نحو السكر النحوي.
يتوافق مكون النموذج مع جميع المنطق المتعلق بالبيانات الذي يعمل معه المستخدم. يمكن أن يمثل هذا إما البيانات التي يتم نقلها بين مكونات العرض ومكونات التحكم أو أي بيانات أخرى متعلقة بمنطق الأعمال.
المجلد: التطبيق/
يتم استخدام مكون العرض لجميع منطق واجهة المستخدم للتطبيق.
المجلد: الموارد/وجهات النظر
تعمل وحدات التحكم كواجهة بين مكونات النموذج ومكونات العرض لمعالجة جميع منطق العمل والطلبات الواردة ، معالجة البيانات باستخدام مكون النموذج والتفاعل مع طرق العرض لتقديم الإخراج النهائي.
المجلد: APP/HTTP/Controller
شرط هذا المشروع:
"php": "^7.1.3",
"laravel/framework": "5.7.*",
إعداد Laravel:
Install PHP 7.1.3
Instal MySQL
Install Composer
مجلد بائع تحديث:
composer update
or
composer install
اكتب على CMD لإنشاء مشروع:
composer global require "laravel/installer"
laravel new blogname
تحقق من الأمر أو المرجع المتاح في Laravel
php artisan list
php artisan help [command name]
ex. php artisan help make:model
تشغيل لارافيل
php artisan serve
or
in browser http://localhost/laravel/magelaravel/public/
قاعدة بيانات الإعداد في .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homested
DB_USERNAME=homestead
DB_PASSWORD=secret
مصادقة الإعداد (اختياري):
php artisan make:auth
إعداد تكوين قاعدة البيانات
php artisan migrate
php artisan migrate:refresh //if you want to change laravel model
إعداد البريد الإلكتروني للاختبار الغرض
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
إعداد HomeController لإدارة مسار الموقع. APP/HTTP/Controllers/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 ]);
}
إنشاء نموذج ، وحدة تحكم ، ترحيل للنشر
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
اجعل crud (إنشاء تحديث قراءة) وضع كلهم في postcontroller.php للتحكم في تطبيق إدارة البيانات/http/controllers/postcontroller.php
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();
}
لاستخدام وحدة التحكم وضعها في المسارات/web.php ، يمكنك وضع الكود الخاص بك مباشرة في المسارات/web.php ولكن من المستحسن وضعه في التطبيق/http/وحدة التحكم لجعل الكود أكثر قابلية للتنظيم
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');
إدارة عرض موقع الويب باستخدام قالب Blade. باستخدام قالب Blade جعل إنشاء صفحة HTML أسهل. مثال:
@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
في Laravel ، هناك طريقان للتحكم في قاعدة البيانات. مع باني الاستعلام وبليغة. يتم إنشاء البليغ بواسطة Laravel لجعل إدارة قاعدة البيانات أسهل
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();
أن بعض من الأساسيين باستخدام لارافيل. يمكنك استخدام هذا المشروع للرجوع إليه. قم بتشغيل هذا المشروع على جهاز الكمبيوتر الخاص بك لمعرفة كيفية عمل Laravel الأساسي.