مهدی همیلی
مهدی همیلی
  • 2025/03/27
  • 2 دقیقه برای خواندن

مقدمه


Laravel یک فریم‌ورک متن‌باز PHP است که برای توسعه نرم‌افزارهای تحت وب استفاده می‌شود. این فریم‌ورک که توسط "تیلور اوتول" (Taylor Otwell) توسعه داده شده است، بر پایه معماری MVC (Model-View-Controller) کار می‌کند و امکانات گسترده‌ای را برای توسعه‌دهندگان فراهم می‌کند. Laravel یکی از محبوب‌ترین فریم‌ورک‌های PHP است که برنامه‌نویسی را سریع‌تر، ایمن‌تر و بهینه‌تر می‌کند.

ویژگی‌های کلیدی Laravel

  1. ساختار MVC - جداسازی منطقی بین لایه‌های مختلف برنامه.
  2. موتور قالب‌سازی Blade - امکان ایجاد قالب‌های پویا و منعطف.
  3. مسیریابی قدرتمند - سیستم مسیریابی ساده و کاربردی.
  4. Eloquent ORM - کار با پایگاه داده به روش شیءگرا.
  5. سیستم احراز هویت و مجوزدهی داخلی.
  6. مدیریت آسان پایگاه داده با Migration و Seeder.
  7. ابزار تست داخلی برای توسعه تست‌محور.

نصب Laravel


برای نصب Laravel ابتدا باید از طریق Composer آن را دریافت کنیم:

composer create-project --prefer-dist laravel/laravel my_project

بعد از نصب، وارد پوشه پروژه شده و سرور داخلی Laravel را اجرا می‌کنیم:

cd my_project
php artisan serve

با اجرای این دستور، برنامه روی http://127.0.0.1:8000 در دسترس خواهد بود.

ساختار پوشه‌های Laravel


هنگامی که Laravel را نصب می‌کنید، پوشه‌های مختلفی در پروژه شما ایجاد می‌شوند:

  • app/: شامل منطق برنامه، مدل‌ها و کنترلرها.
  • routes/: شامل مسیرهای برنامه.
  • resources/views/: شامل فایل‌های Blade برای نمایش صفحات.
  • config/: شامل فایل‌های پیکربندی پروژه.

نمونه کد: تعریف یک مسیر ساده

در فایل routes/web.php می‌توانید یک مسیر ساده تعریف کنید:

use Illuminate\Support\Facades\Route;

Route::get('/hello', function () {
    return "سلام لاراول!";
});

کار با کنترلرها در Laravel


برای ایجاد یک کنترلر می‌توانید از دستور زیر استفاده کنید

php artisan make:controller MyController

سپس متدی در این کنترلر تعریف کرده و در مسیرها از آن استفاده کنید

use App\Http\Controllers\MyController;
use Illuminate\Support\Facades\Route;

Route::get('/hello', [MyController::class, 'index']);

تعریف متد در کنترلر

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class MyController extends Controller
{
    public function index()
    {
        return "این یک پاسخ از کنترلر است!";
    }
}

مدل و پایگاه داده در Laravel


Laravel دارای یک ORM قدرتمند به نام Eloquent است که کار با پایگاه داده را ساده می‌کند. برای ایجاد یک مدل می‌توانید از دستور زیر استفاده کنید

php artisan make:model Post -m

این دستور یک مدل Post به همراه فایل Migration ایجاد می‌کند. سپس می‌توانید مدل را در مسیر

app/Models/Post.php ویرایش کنید

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $fillable = ['title', 'content'];
}

کار با Blade و نمایش داده‌ها


Blade سیستم قالب‌سازی Laravel است که امکان ایجاد صفحات داینامیک را فراهم می‌کند.

نمونه قالب Blade

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html lang="fa">
<head>
    <meta charset="UTF-8">
    <title>صفحه خوش‌آمدگویی</title>
</head>
<body>
    <h1>به لاراول خوش آمدید!</h1>
</body>
</html>

توسعه API با Laravel


Laravel با پشتیبانی قوی از API، امکان توسعه APIهای RESTful را فراهم می‌کند. برای ایجاد یک مسیر API، فایل routes/api.php را ویرایش کنید

use App\Http\Controllers\ApiController;
use Illuminate\Support\Facades\Route;

Route::get('/posts', [ApiController::class, 'getPosts']);

ایجاد کنترلر API

namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;

class ApiController extends Controller
{
    public function getPosts()
    {
        return response()->json(Post::all());
    }
}

جمع‌بندی

Laravel یکی از محبوب‌ترین فریم‌ورک‌های PHP است که امکانات متعددی برای توسعه سریع و امن برنامه‌های تحت وب ارائه می‌دهد. در استک تیم، ما می‌توانیم خدمات تخصصی برنامه‌نویسی Laravel را برای کسب‌وکارها ارائه دهیم. اگر به دنبال توسعه یک پروژه مبتنی بر Laravel هستید، تیم ما آماده همکاری با شماست.

مهدی همیلی
مهدی همیلی
Co-funder at Stackteam

من مهدی همیلی هستم؛ برنامه‌نویس و عاشق ساختن چیزهایی که واقعاً کار می‌کنن! سال‌هاست توی دنیای کدنویسی می‌چرخم و با زبان‌هایی مثل PHP، Go و JavaScript کلی پروژه ساختم. به‌عنوان Co-founder استک تیم، تمرکزم روی ساخت تیم‌های فنی منسجم و چابکه که بتونن پروژه‌های پیچیده رو سریع و دقیق جلو ببرن. معتقدم کد خوب فقط یه سری خط نیست؛ یه راه حله برای خلق آینده.

Dubai/UAE

Contact Information

Theodore Lowe, Ap #867-859
Sit Rd, Azusa New York

We're Available 24/7. Call Now. (888) 456-2790 (121) 255-53333
Find us here