لاراول چیست؟ آموزش کامل و جامع Laravel
فهرست مطالب
لاراول چیست؟
لاراول (Laravel) یک فریمورک PHP متنباز و قدرتمند است که برای توسعه وباپلیکیشنها استفاده میشود. این فریمورک با ارائه ابزارها و کتابخانههای متعدد، توسعه سریع و امن برنامههای وب را تسهیل میکند.
Route::get('/', function () { return view('welcome'); });
تاریخچه لاراول
لاراول در سال ۲۰۱۱ توسط تیلور اوتول (Taylor Otwell) ایجاد شد. هدف اصلی از ایجاد این فریمورک، ارائه یک جایگزین بهتر برای فریمورک CodeIgniter بود که در آن زمان محبوبیت زیادی داشت.
ویژگیهای لاراول
لاراول به دلیل ویژگیهای منحصر به فرد خود، محبوبیت زیادی در بین توسعهدهندگان پیدا کرده است. برخی از این ویژگیها عبارتند از:
- پشتیبانی از معماری MVC
- سیستم روتینگ پیشرفته
- پایگاه داده Eloquent ORM
- سیستم احراز هویت داخلی
- پشتیبانی از تستهای واحد
- سیستم کشگذاری
- پشتیبانی از صفها (Queues)
نصب و راهاندازی لاراول
برای نصب لاراول، ابتدا باید Composer را روی سیستم خود نصب کنید. Composer یک ابزار مدیریت وابستگیها برای PHP است.
composer create-project --prefer-dist laravel/laravel blog
php artisan serve
میتوانید پروژه لاراول را اجرا کنید. ساختار پروژه لاراول
پروژه لاراول از پوشهها و فایلهای متعددی تشکیل شده است که هر کدام وظیفه خاصی دارند. برخی از مهمترین پوشهها عبارتند از:
- app: شامل کلاسهای اصلی برنامه مانند مدلها، کنترلرها و میدلورها.
- config: شامل فایلهای پیکربندی برنامه.
- database: شامل مایگریشنها و سیدرها.
- resources: شامل فایلهای View و Assetها.
- routes: شامل فایلهای روتینگ.
روتینگ در لاراول
روتینگ در لاراول به شما امکان میدهد تا URLهای مختلف را به کنترلرها و توابع خاصی متصل کنید. این کار در فایلهای موجود در پوشه routes
انجام میشود.
Route::get('/about', [AboutController::class, 'index']);
تمپلیتهای Blade
Blade موتور تمپلیتسازی لاراول است که به شما امکان میدهد تا کدهای PHP را به صورت سادهتر و خواناتر در Viewها بنویسید.
@extends('layouts.app')
@section('content')
{{ $title }}
این یک پاراگراف است.
@endsection
مایگریشنها در لاراول
مایگریشنها در لاراول به شما امکان میدهند تا ساختار پایگاه داده را به صورت کد تعریف کنید و تغییرات را به راحتی مدیریت نمایید.
public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
php artisan migrate
میتوانید مایگریشنها را اجرا کنید. Eloquent ORM
Eloquent ORM یک لایه انتزاعی برای کار با پایگاه داده در لاراول است که به شما امکان میدهد تا با جدولهای پایگاه داده به صورت شیگرا کار کنید.
class User extends Model { protected $fillable = ['name', 'email', 'password']; }
میدلور در لاراول
میدلورها در لاراول برای فیلتر کردن درخواستهای HTTP استفاده میشوند. به عنوان مثال، میتوانید از میدلور برای احراز هویت کاربران استفاده کنید.
public function handle($request, Closure $next) { if (auth()->check()) { return $next($request); }
return redirect('/login');
}
app/Http/Middleware
ایجاد و مدیریت کنید.
امنیت در لاراول
لاراول به طور پیشفرض از ویژگیهای امنیتی متعددی مانند هش کردن پسوردها، محافظت در برابر CSRF و SQL Injection پشتیبانی میکند.
$hashedPassword = Hash::make('password');
بهترین شیوههای کدنویسی در لاراول
رعایت اصول و بهترین شیوههای کدنویسی در لاراول به بهبود کیفیت و نگهداری کد کمک میکند:
۱. استفاده از Repository Pattern
این الگو به شما کمک میکند تا منطق دسترسی به دادهها را از لایههای دیگر جدا کنید.
۲. استفاده از Service Layer
با استفاده از Service Layer میتوانید منطق کسبوکار را از کنترلرها جدا کنید.
۳. اعتبارسنجی درخواستها
همیشه درخواستهای کاربران را قبل از پردازش اعتبارسنجی کنید.
ابزارهای مفید برای کار با لاراول
برای توسعه بهتر با لاراول، ابزارهای مفید زیر را در نظر بگیرید:
ویرایشگرهای کد
– Visual Studio Code
– PHPStorm
– Sublime Text
ابزارهای دیباگ
– Laravel Debugbar
– Telescope
ابزارهای تست
– PHPUnit
– Laravel Dusk