فهرست ها

Installation

Meet Laravel

Laravel is a web application framework with expressive, elegant syntax. A web framework provides a structure and starting point for creating your application, allowing you to focus on creating something amazing while we sweat the details.

Laravel strives to provide an amazing developer experience while providing powerful features such as thorough dependency injection, an expressive database abstraction layer, queues and scheduled jobs, unit and integration testing, and more.

Whether you are new to PHP web frameworks or have years of experience, Laravel is a framework that can grow with you. We'll help you take your first steps as a web developer or give you a boost as you take your expertise to the next level. We can't wait to see what you build.

Why Laravel?

There are a variety of tools and frameworks available to you when building a web application. However, we believe Laravel is the best choice for building modern, full-stack web applications.

A Progressive Framework

We like to call Laravel a "progressive" framework. By that, we mean that Laravel grows with you. If you're just taking your first steps into web development, Laravel's vast library of documentation, guides, and video tutorials will help you learn the ropes without becoming overwhelmed.

If you're a senior developer, Laravel gives you robust tools for dependency injection, unit testing, queues, real-time events, and more. Laravel is fine-tuned for building professional web applications and ready to handle enterprise workloads.

A Scalable Framework

Laravel is incredibly scalable. Thanks to the scaling-friendly nature of PHP and Laravel's built-in support for fast, distributed cache systems like Redis, horizontal scaling with Laravel is a breeze. In fact, Laravel applications have been easily scaled to handle hundreds of millions of requests per month.

Need extreme scaling? Platforms like Laravel Cloud allow you to run your Laravel application at nearly limitless scale.

An Agent Ready Framework

Laravel's opinionated conventions and well-defined structure make it an ideal framework for AI assisted development using tools like Cursor and Claude Code. When you ask an AI agent to add a controller, it knows exactly where to place it. When you need a new migration, the naming conventions and file locations are predictable. This consistency eliminates the guesswork that often trips up AI tools in more flexible frameworks.

Beyond file organization, Laravel's expressive syntax and comprehensive documentation give AI agents the context they need to generate accurate, idiomatic code. Features like Eloquent relationships, form requests, and middleware follow patterns that agents can reliably understand and replicate. The result is AI-generated code that looks like it was written by a seasoned Laravel developer, not stitched together from generic PHP snippets.

To learn more about why Laravel is the perfect choice for AI assisted development, check out our documentation on agentic development.

A Community Framework

Laravel combines the best packages in the PHP ecosystem to offer the most robust and developer friendly framework available. In addition, thousands of talented developers from around the world have contributed to the framework. Who knows, maybe you'll even become a Laravel contributor.

Creating a Laravel Application

Getting Started Using AI

If you are using an AI coding agent like Claude Code or OpenCode, you can start with a prompt that gives the agent a Laravel-specific playbook before it touches your project.

The prompt below tells the agent where to find Laravel's installation guidance, what to prioritize, and how to make sensible defaults when you haven't made a choice yet. Paste this into your agent to get started:

I'm building a new Laravel application.

Fetch and follow the instructions from https://laravel.com/for/agents. Treat the returned Markdown as the source of truth for how to install and set up Laravel in this session.

After the agent reads the instructions, it should guide you step by step and keep the setup aligned with Laravel's defaults.

Installing PHP and the Laravel Installer

Before creating your first Laravel application, make sure that your local machine has PHP, Composer, and the Laravel installer installed. In addition, you should install either Node and NPM or Bun so that you can compile your application's frontend assets.

If you don't have PHP and Composer installed on your local machine, the following commands will install PHP, Composer, and the Laravel installer on macOS, Windows, or Linux:

/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.5)"
# Run as administrator...
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.5'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.5)"

After running one of the commands above, you should restart your terminal session. To update PHP, Composer, and the Laravel installer after installing them via php.new, you can re-run the command in your terminal.

If you already have PHP and Composer installed, you may install the Laravel installer via Composer:

composer global require laravel/installer

[!NOTE] For a fully-featured, graphical PHP installation and management experience, check out Laravel Herd.

Creating an Application

After you have installed PHP, Composer, and the Laravel installer, you're ready to create a new Laravel application. The Laravel installer will prompt you to select your preferred testing framework, database, and starter kit:

laravel new example-app

Once the application has been created, you can start Laravel's local development server, queue worker, and Vite development server using the dev Composer script:

cd example-app
npm install && npm run build
composer run dev

Once you have started the development server, your application will be accessible in your web browser at http://localhost:8000. Next, you're ready to start taking your next steps into the Laravel ecosystem. Of course, you may also want to configure a database.

[!NOTE] If you would like a head start when developing your Laravel application, consider using one of our starter kits. Laravel's starter kits provide backend and frontend authentication scaffolding for your new Laravel application.

Initial Configuration

All of the configuration files for the Laravel framework are stored in the config directory. Each option is documented, so feel free to look through the files and get familiar with the options available to you.

Laravel needs almost no additional configuration out of the box. You are free to get started developing! However, you may wish to review the config/app.php file and its documentation. It contains several options such as url and locale that you may wish to change according to your application.

Environment Based Configuration

Since many of Laravel's configuration option values may vary depending on whether your application is running on your local machine or on a production web server, many important configuration values are defined using the .env file that exists at the root of your application.

Your .env file should not be committed to your application's source control, since each developer / server using your application could require a different environment configuration. Furthermore, this would be a security risk in the event an intruder gains access to your source control repository, since any sensitive credentials would be exposed.

[!NOTE] For more information about the .env file and environment based configuration, check out the full configuration documentation.

Databases and Migrations

Now that you have created your Laravel application, you probably want to store some data in a database. By default, your application's .env configuration file specifies that Laravel will be interacting with an SQLite database.

During the creation of the application, Laravel created a database/database.sqlite file for you, and ran the necessary migrations to create the application's database tables.

If you prefer to use another database driver such as MySQL or PostgreSQL, you can update your .env configuration file to use the appropriate database. For example, if you wish to use MySQL, update your .env configuration file's DB_* variables like so:

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

If you choose to use a database other than SQLite, you will need to create the database and run your application's database migrations:

php artisan migrate

[!NOTE] If you are developing on macOS or Windows and need to install MySQL, PostgreSQL, or Redis locally, consider using Herd Pro or DBngin.

Directory Configuration

Laravel should always be served out of the root of the "web directory" configured for your web server. You should not attempt to serve a Laravel application out of a subdirectory of the "web directory". Attempting to do so could expose sensitive files present within your application.

Installation Using Herd

Laravel Herd is a blazing fast, native Laravel and PHP development environment for macOS and Windows. Herd includes everything you need to get started with Laravel development, including PHP and Nginx.

Once you install Herd, you're ready to start developing with Laravel. Herd includes command line tools for php, composer, laravel, expose, node, npm, and nvm.

[!NOTE] Herd Pro augments Herd with additional powerful features, such as the ability to create and manage local MySQL, Postgres, and Redis databases, as well as local mail viewing and log monitoring.

Herd on macOS

If you develop on macOS, you can download the Herd installer from the Herd website. The installer automatically downloads the latest version of PHP and configures your Mac to always run Nginx in the background.

Herd for macOS uses dnsmasq to support "parked" directories. Any Laravel application in a parked directory will automatically be served by Herd. By default, Herd creates a parked directory at ~/Herd and you can access any Laravel application in this directory on the .test domain using its directory name.

After installing Herd, the fastest way to create a new Laravel application is using the Laravel CLI, which is bundled with Herd:

cd ~/Herd
laravel new my-app
cd my-app
herd open

Of course, you can always manage your parked directories and other PHP settings via Herd's UI, which can be opened from the Herd menu in your system tray.

You can learn more about Herd by checking out the Herd documentation.

Herd on Windows

You can download the Windows installer for Herd on the Herd website. After the installation finishes, you can start Herd to complete the onboarding process and access the Herd UI for the first time.

The Herd UI is accessible by left-clicking on Herd's system tray icon. A right-click opens the quick menu with access to all tools that you need on a daily basis.

During installation, Herd creates a "parked" directory in your home directory at %USERPROFILE%\Herd. Any Laravel application in a parked directory will automatically be served by Herd, and you can access any Laravel application in this directory on the .test domain using its directory name.

After installing Herd, the fastest way to create a new Laravel application is using the Laravel CLI, which is bundled with Herd. To get started, open Powershell and run the following commands:

cd ~\Herd
laravel new my-app
cd my-app
herd open

You can learn more about Herd by checking out the Herd documentation for Windows.

IDE Support

You are free to use any code editor you wish when developing Laravel applications. If you're looking for lightweight and extensible editors, VS Code or Cursor combined with the official Laravel VS Code Extension offers excellent Laravel support with features like syntax highlighting, snippets, artisan command integration, and smart autocompletion for Eloquent models, routes, middleware, assets, config, and Inertia.js.

For extensive and robust support of Laravel, take a look at PhpStorm, a JetBrains IDE. PhpStorm's built-in Laravel framework support includes Blade templates, smart autocompletion for Eloquent models, routes, views, translations, and components, along with powerful code generation and navigation across Laravel projects.

For those seeking a cloud-based development experience, Firebase Studio provides instant access to building with Laravel directly in your browser. With zero setup required, Firebase Studio makes it easy to start building Laravel applications from any device.

Laravel and AI

Laravel Boost is a powerful tool that bridges the gap between AI coding agents and Laravel applications. Boost provides AI agents with Laravel-specific context, tools, and guidelines so they can generate more accurate, version-specific code that follows Laravel conventions.

When you install Boost in your Laravel application, AI agents gain access to over 15 specialized tools including the ability to know which packages you are using, query your database, search the Laravel documentation, read browser logs, generate tests, and execute code via Tinker.

In addition, Boost gives AI agents access to over 17,000 pieces of vectorized Laravel ecosystem documentation, specific to your installed package versions. This means agents can provide guidance targeted to the exact versions your project uses.

Boost also includes Laravel-maintained AI guidelines that help agents to follow framework conventions, write appropriate tests, and avoid common pitfalls when generating Laravel code.

Installing Laravel Boost

Boost can be installed in Laravel 10, 11, 12, and 13 applications running PHP 8.1 or higher. To get started, install Boost as a development dependency:

composer require laravel/boost --dev

Once installed, run the interactive installer:

php artisan boost:install

The installer will auto-detect your IDE and AI agents, allowing you to opt into the features that make sense for your project. Boost respects existing project conventions and doesn't force opinionated style rules by default.

[!NOTE] To learn more about Boost, check out the Laravel Boost repository on GitHub.

Adding Custom AI Guidelines

To augment Laravel Boost with your own custom AI guidelines, add .blade.php or .md files to your application's .ai/guidelines/* directory. These files will automatically be included with Laravel Boost's guidelines when you run boost:install.

Next Steps

Now that you have created your Laravel application, you may be wondering what to learn next. First, we strongly recommend becoming familiar with how Laravel works by reading the following documentation:

How you want to use Laravel will also dictate the next steps on your journey. There are a variety of ways to use Laravel, and we'll explore two primary use cases for the framework below.

Laravel the Full Stack Framework

Laravel may serve as a full stack framework. By "full stack" framework we mean that you are going to use Laravel to route requests to your application and render your frontend via Blade templates or a single-page application hybrid technology like Inertia. This is the most common way to use the Laravel framework, and, in our opinion, the most productive way to use Laravel.

If this is how you plan to use Laravel, you may want to check out our documentation on frontend development, routing, views, or the Eloquent ORM. In addition, you might be interested in learning about community packages like Livewire and Inertia. These packages allow you to use Laravel as a full-stack framework while enjoying many of the UI benefits provided by single-page JavaScript applications.

If you are using Laravel as a full stack framework, we also strongly encourage you to learn how to compile your application's CSS and JavaScript using Vite.

[!NOTE] If you want to get a head start building your application, check out one of our official application starter kits.

Laravel the API Backend

Laravel may also serve as an API backend to a JavaScript single-page application or mobile application. For example, you might use Laravel as an API backend for your Next.js application. In this context, you may use Laravel to provide authentication and data storage / retrieval for your application, while also taking advantage of Laravel's powerful services such as queues, emails, notifications, and more.

If this is how you plan to use Laravel, you may want to check out our documentation on routing, Laravel Sanctum, and the Eloquent ORM.

نصب و راه‌اندازی

آشنایی با لاراول (Meet Laravel)

لاراول یک فریم‌ورک برنامه نویسی (Framework) برای برنامه‌های تحت وب است که از سینتکس (Syntax) یا نحو بیانگر و ظریفی بهره می‌برد. یک فریم‌ورک وب (Web framework)، ساختار و نقطه شروعی را برای ساخت برنامه شما فراهم می‌کند و به شما این امکان را می‌دهد تا روی خلق یک اثر فوق‌العاده تمرکز کنید، در حالی که ما جزئیات ریز و دشوار را مدیریت می‌کنیم.

لاراول (Laravel) تلاش می‌کند تا یک تجربه توسعه‌دهنده (Developer experience) شگفت‌انگیز را ارائه دهد و در عین حال، ویژگی‌های قدرتمندی مانند تزریق وابستگی (Dependency injection) کامل، یک لایه انتزاعی پایگاه داده (Database abstraction layer) بیانگر، صف‌ها (Queues) و کارهای زمان‌بندی‌شده (Scheduled jobs)، تست‌ها ی واحد (Unit testing) و تست‌های یکپارچه‌سازی (Integration testing) و موارد دیگر را فراهم کند.

چه در کار با فریم‌ورک‌های وب پی‌اچ‌پی (PHP web frameworks) تازه‌کار باشید و چه سال‌ها تجربه داشته باشید، لاراول (Laravel) فریم‌ورکی (Framework) است که می‌تواند همراه با شما رشد کند. ما به شما کمک می‌کنیم تا اولین قدم‌های خود را به عنوان یک توسعه‌دهنده وب (Web developer) بردارید یا به شما انگیزه و کمکی می‌دهیم تا تخصص خود را به سطح بعدی ارتقا دهید. ما برای دیدن چیزی که می‌سازید، لحظه‌شماری می‌کنیم.

چرا لاراول؟ (?Why Laravel)

هنگام ساخت یک برنامه تحت وب (Web application)، ابزارها و فریم‌ورک‌های (Frameworks) متنوعی در دسترس شما قرار دارند. با این حال، ما بر این باوریم که لاراول (Laravel) بهترین انتخاب برای ساخت برنامه‌های وب مدرن و فول‌استک (Full-stack) است.

یک فریم‌ورک پیش‌رونده (A Progressive Framework)

ما دوست داریم لاراول (Laravel) را یک فریم‌ورک (Framework) «پیش‌رونده» بنامیم. منظور ما از این اصطلاح این است که لاراول (Laravel) همراه با شما رشد می‌کند. اگر تازه در حال برداشتن اولین قدم‌های خود در مسیر توسعه وب (Web development) هستید، کتابخانه وسیع لاراول (Laravel) شامل مستندات (Documentation)، راهنماها و آموزش‌های ویدئویی به شما کمک می‌کند تا بدون سردرگم شدن، اصول کار را یاد بگیرید.

اگر یک توسعه‌دهنده ارشد (Senior developer) هستید، لاراول (Laravel) ابزارهای قدرتمندی را برای تزریق وابستگی (Dependency injection)، تست واحد (Unit testing)، صف‌ها (Queues)، رویدادهای آنی (Real-time events) و موارد دیگر در اختیار شما قرار می‌دهد. لاراول (Laravel) برای ساخت برنامه‌های وب حرفه‌ای (Professional web applications) بهینه‌سازی شده و کاملاً آماده مدیریت حجم کاری سازمانی (Enterprise wاین هم ترجمه این بخش به فرمت مارک‌داون (Markdown):

یک فریم‌ورک مقیاس‌پذیر (A Scalable Framework)

لاراول (Laravel) به شکل شگفت‌انگیزی مقیاس‌پذیر (Scalable) است. به لطف ماهیت سازگار با مقیاس‌پذیریِ پی‌اچ‌پی (PHP) و پشتیبانی داخلی لاراول (Laravel) از سیستم‌های کش توزیع‌شده (Distributed cache systems) و سریع مانند ردیس (Redis)، مقیاس‌پذیری افقی (Horizontal scaling) با لاراول (Laravel) بسیار آسان است. در واقع، برنامه‌های لاراول (Laravel) به راحتی مقیاس‌پذیری شده‌اند تا صدها میلیون درخواست (Requests) در ماه را مدیریت کنند.

به مقیاس‌پذیری فوق‌العاده بالایی نیاز دارید؟ پلتفرم‌هایی مانند لاراول کلود (Laravel Cloud) به شما این امکان را می‌دهند تا برنامه لاراول (Laravel) خود را در مقیاسی تقریباً نامحدود اجرا کنید.orkloads) است.

یک فریم‌ورک آماده برای عامل‌ها (An Agent Ready Framework)

قراردادهای ساختاریافته (Opinionated conventions) و ساختار مشخصِ لاراول (Laravel)، آن را به فریم‌ورکی (Framework) ایده‌آل برای توسعه به کمک هوش مصنوعی (AI assisted development) با استفاده از ابزارهایی مانند کورسر (Cursor) و کلود کد (Claude Code) تبدیل کرده است. وقتی از یک عامل هوش مصنوعی (AI agent) می‌خواهید که یک کنترل‌کننده (Controller) اضافه کند، دقیقاً می‌داند که باید آن را کجا قرار دهد. هنگامی که به یک مهاجرت (Migration) جدید نیاز دارید، قراردادهای نام‌گذاری و مکان فایل‌ها کاملاً قابل پیش‌بینی هستند. این یکپارچگی و ثبات، حدس و گمان‌هایی را که اغلب باعث خطا در ابزارهای هوش مصنوعی در فریم‌ورک‌های انعطاف‌پذیرتر می‌شود، از بین می‌برد.

فراتر از سازمان‌دهی فایل‌ها، سینتکس (Syntax) یا نحو بیانگر لاراول (Laravel) و مستندات جامع آن، بافت و زمینه‌ای (Context) را که عامل‌های هوش مصنوعی (AI agents) برای تولید کدهای دقیق و اصولی (Idiomatic code) نیاز دارند، در اختیارشان قرار می‌دهد. ویژگی‌هایی مانند روابط الوکنت (Eloquent relationships)، درخواست‌های فرم (Form requests) و میان‌افزارها (Middleware)، از الگوهایی پیروی می‌کنند که عامل‌ها می‌توانند به طور قابل‌اعتمادی آن‌ها را درک کرده و بازنویسی کنند. نتیجه کار، کدی تولیدشده توسط هوش مصنوعی است که به نظر می‌رسد توسط یک توسعه‌دهنده باتجربه لاراول (Laravel) نوشته شده است، نه اینکه از تکه کدهای عمومی پی‌اچ‌پی (PHP snippets) به هم چسبانده شده باشد.

برای کسب اطلاعات بیشتر در مورد اینکه چرا لاراول (Laravel) انتخابی عالی برای توسعه به کمک هوش مصنوعی است، مستندات ما را در زمینه توسعه مبتنی بر عامل (Agentic development) بررسی کنید

یک فریم‌ورک جامعه‌محور (A Community Framework)

لاراول (Laravel) بهترین پکیج‌ها (Packages) را در اکوسیستم پی‌اچ‌پی (PHP ecosystem) ترکیب می‌کند تا قدرتمندترین و کاربرپسندترین فریم‌ورک (Framework) موجود را برای توسعه‌دهندگان ارائه دهد. علاوه بر این، هزاران توسعه‌دهنده بااستعداد از سراسر جهان در توسعه این فریم‌ورک (Framework) مشارکت داشته‌اند. کسی چه می‌داند، شاید شما هم روزی به یکی از مشارکت‌کنندگان لاراول (Laravel contributor) تبدیل شدید.

ایجاد یک برنامه لاراول (Creating a Laravel Application)

شروع کار با استفاده از هوش مصنوعی (Getting Started Using AI)

اگر از یک عامل برنامه‌نویسی هوش مصنوعی (AI coding agent) مانند کلود کد (Claude Code) یا اوپن‌کد (OpenCode) استفاده می‌کنید، می‌توانید کار خود را با یک پرامپت (Prompt) یا دستورالعمل آغاز کنید که پیش از دست زدن به پروژه‌تان، یک کتابچه راهنمای اختصاصی لاراول (Laravel-specific playbook) را در اختیار عامل قرار می‌دهد.

پرامپت (Prompt) زیر به عامل می‌گوید که راهنمای نصب لاراول (Laravel) را کجا پیدا کند، چه مواردی را در اولویت قرار دهد و در صورتی که شما هنوز انتخابی انجام نداده‌اید، چگونه پیش‌فرض‌های منطقی را اعمال کند. برای شروع، این متن را در عامل هوش مصنوعی خود کپی و پیست (Paste) کنید:

من در حال ساخت یک برنامه لاراولی (Laravel application) جدید هستم.

دستورالعمل‌ها را از آدرس https://laravel.com/for/agents دریافت کرده و از آن‌ها پیروی کن. با متن مارک‌داون (Markdown) بازگردانده شده به عنوان منبع حقیقت (Source of truth) برای نحوه نصب و راه‌اندازی لاراول (Laravel) در این جلسه رفتار کن.

پس از اینکه عامل هوش مصنوعی دستورالعمل‌ها را خواند، باید شما را قدم به قدم راهنمایی کند و فرآیند راه‌اندازی را با پیش‌فرض‌های لاراول (Laravel's defaults) هم‌راستا نگه دارد.

نصب پی‌اچ‌پی و ابزار نصب لاراول (Installing PHP and the Laravel Installer)

پیش از ایجاد اولین برنامه لاراول (Laravel application) خود، مطمئن شوید که روی سیستم محلی (Local machine) شما، پی‌اچ‌پی (PHP)، کامپوزر (Composer) و ابزار نصب لاراول (Laravel installer) نصب شده باشند. علاوه بر این، باید نود و ان‌پام (Node and NPM) یا بانی (Bun) را نصب کنید تا بتوانید دارایی‌های فرانت‌اند (Frontend assets) برنامه خود را کامپایل (Compile) کنید.

اگر پی‌اچ‌پی (PHP) و کامپوزر (Composer) روی سیستم محلی شما نصب نیستند، دستورات زیر پی‌اچ‌پی (PHP)، کامپوزر (Composer) و ابزار نصب لاراول (Laravel installer) را روی سیستم‌عامل‌های مک (macOS)، ویندوز (Windows) یا لینوکس (Linux) نصب خواهند کرد:

Bash

# لینوکس و مک
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.5)"

# ویندوز (در پاورشل با دسترسی ادمین اجرا شود)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.5'))

# لینوکس
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.5)"

پس از اجرای یکی از دستورات بالا، باید محیط ترمینال (Terminal session) خود را مجدداً راه‌اندازی (Restart) کنید. برای به‌روزرسانی پی‌اچ‌پی (PHP)، کامپوزر (Composer) و ابزار نصب لاراول (Laravel installer) پس از نصب آن‌ها از طریق سایت php.new، می‌توانید همان دستور را دوباره در ترمینال خود اجرا کنید.

اگر از قبل پی‌اچ‌پی (PHP) و کامپوزر (Composer) را نصب شده دارید، می‌توانید ابزار نصب لاراول (Laravel installer) را به صورت سراسری (Global) از طریق کامپوزر (Composer) نصب کنید:

Bash

composer global require laravel/installer

[!NOTE]

نکته (Note) > برای تجربه مدیریت و نصب گرافیکی و کامل پی‌اچ‌پی (PHP)، ابزار لاراول هرد (Laravel Herd) را بررسی کنید.

ایجاد یک برنامه (Creating an Application)

پس از نصب پی‌اچ‌پی (PHP)، کامپوزر (Composer) و ابزار نصب لاراول (Laravel installer)، شما آماده‌اید تا یک برنامه لاراولی (Laravel application) جدید ایجاد کنید. ابزار نصب لاراول از شما می‌خواهد تا فریم‌ورک تست (Testing framework)، پایگاه داده (Database) و استارتر کیت (Starter kit) مورد نظر خود را انتخاب کنید:

Bash

laravel new example-app

پس از ایجاد برنامه، می‌توانید سرور توسعه محلی لاراول (Local development server)، ورکر صف (Queue worker) و سرور توسعه ویت (Vite development server) را با استفاده از اسکریپت کامپوزرِ dev راه‌اندازی کنید:

Bash

cd example-app

npm install && npm run build

composer run dev

پس از راه‌اندازی سرور توسعه، برنامه شما در مرورگر وب با آدرس http://localhost:8000 قابل دسترسی خواهد بود. حالا شما آماده‌اید تا قدم‌های بعدی خود را در اکوسیستم لاراول (Laravel ecosystem) بردارید. البته، احتمالاً تمایل داشته باشید که یک پایگاه داده (Database) را نیز پیکربندی (Configure) کنید.

[!NOTE]

نکته (Note)

اگر می‌خواهید در توسعه برنامه لاراولی (Laravel application) خود یک قدم جلوتر باشید، استفاده از یکی از استارتر کیت‌های (Starter kits) ما را مد نظر قرار دهید. استارتر کیت‌های لاراول، داربست یا ساختار اولیه احراز هویت (Authentication scaffolding) فرانت‌اند و بک‌اند را برای برنامه لاراولی جدید شما فراهم می‌کنند.

پیکربندی اولیه (Initial Configuration)

تمام فایل‌های پیکربندی (Configuration files) فریم‌ورک لاراول در دایرکتوری یا پوشه config ذخیره شده‌اند. تک‌تک گزینه‌ها مستندسازی شده‌اند، بنابراین راحت باشید و نگاهی به این فایل‌ها بیندازید تا با گزینه‌های در دسترس خود آشنا شوید.

لاراول (Laravel) به صورت پیش‌فرض و بلافاصله پس از نصب (Out of the box)، تقریباً به هیچ پیکربندی (Configuration) اضافی نیاز ندارد. شما آزادید که توسعه پروژه را شروع کنید! با این حال، ممکن است مایل باشید فایل config/app.php و مستندات آن را مرور کنید. این فایل شامل چندین گزینه مانند آدرس اینترنتی (url) و زبان بومی (locale) است که شاید بخواهید آن‌ها را بر اساس برنامه خود تغییر دهید.

پیکربندی مبتنی بر محیط (Environment Based Configuration)

از آنجایی که مقادیر بسیاری از گزینه‌های پیکربندی (Configuration) لاراول ممکن است بسته به اینکه برنامه شما روی سیستم محلی خودتان (Local machine) یا روی یک سرور وب اصلی (Production web server) در حال اجراست متفاوت باشد، بسیاری از مقادیر مهم پیکربندی با استفاده از فایل .env که در ریشه (Root) برنامه شما قرار دارد، تعریف می‌شوند.

فایل .env شما نباید به سیستم کنترل نسخه یا سورس کنترل (Source control) برنامه ارسال (Commit) شود؛ چرا که هر توسعه‌دهنده یا سروری که از برنامه شما استفاده می‌کند، ممکن است به پیکربندی محیطی (Environment configuration) متفاوتی نیاز داشته باشد. علاوه‌بر این، در صورت دسترسی یک مهاجم به مخزن سورس کنترل (Source control repository) شما، این امر یک ریسک امنیتی خواهد بود؛ زیرا تمام اطلاعات حساس و اطلاعات هویتی (Sensitive credentials) شما فاش خواهند شد.

[!NOTE]

نکته (Note)

برای کسب اطلاعات بیشتر در مورد فایل .env و پیکربندی مبتنی بر محیط (Environment based configuration)، مستندات کامل پیکربندی (Configuration documentation) را بررسی کنید.

پایگاه‌های داده و مهاجرت‌ها (Databases and Migrations)

اکنون که برنامه لاراولی (Laravel application) خود را ایجاد کرده‌اید، احتمالاً می‌خواهید داده‌هایی را در یک پایگاه داده (Database) ذخیره کنید. به صورت پیش‌فرض، فایل پیکربندی .env برنامه شما مشخص می‌کند که لاراول با یک پایگاه داده اس کیو لایت (SQLite database) در تعامل خواهد بود.

در طول فرآیند ایجاد برنامه، لاراول یک فایل در مسیر database/database.sqlite برای شما ساخته و مهاجرت‌های (Migrations) لازم را برای ایجاد جدول‌های پایگاه داده‌ی برنامه اجرا کرده است.

اگر ترجیح می‌دهید از درایور پایگاه داده (Database driver) دیگری مانند ‌مای اس کیو ال (MySQL) یا پوستگر اس‌کیو‌ال (PostgreSQL) استفاده کنید، می‌توانید فایل پیکربندی .env خود را برای استفاده از پایگاه داده مناسب به‌روزرسانی کنید. به عنوان مثال، اگر می‌خواهید از (MySQL) استفاده کنید، متغیرهای DB_* را در فایل پیکربندی .env خود به این صورت تغییر دهید:

تکه‌کد

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

اگر پایگاه داده‌ای غیر از SQLite را انتخاب کنید، باید آن پایگاه داده را (در سیستم خود) بسازید و مهاجرت‌های پایگاه داده (Database migrations) برنامه را اجرا کنید:

Bash

php artisan migrate

[!NOTE]

نکته (Note)

اگر روی مک (macOS) یا ویندوز (Windows) در حال توسعه هستید و نیاز دارید ‌ (MySQL)،‌‌ (PostgreSQL) یا ردیس (Redis) را به صورت محلی نصب کنید، استفاده از هرد پرو (Herd Pro) یا دی‌بی‌انجین (DBngin) را مد نظر قرار دهید.

پیکربندی دایرکتوری (Directory Configuration)

لاراول (Laravel) همیشه باید از ریشه (Root) «دایرکتوری وب» (Web directory) که برای سرور وب (Web server) شما پیکربندی شده است، میزبانی و اجرا شود. شما نباید برای اجرای یک برنامه لاراولی از یک دایرکتوری فرعی (Subdirectory) در داخل «دایرکتوری وب» اقدام کنید. تلاش برای انجام این کار می‌تواند فایل‌های حساس موجود در برنامه شما را در معرض دید عموم قرار دهد و امنیت آن را به خطر بیندازد. (منظورش این اینه که همه فایل های لاراول رو در public-html نریزید بزارید یه پوشه بالاتر )

نصب با استفاده از هرد (Installation Using Herd)

لاراول هرد (Laravel Herd) یک محیط توسعه بومی (Native development environment)، فوق‌العاده سریع و اختصاصی برای لاراول (Laravel) و پی‌اچ‌پی (PHP) در سیستم‌عامل‌های مک (macOS) و ویندوز (Windows) است. هرد (Herd) شامل تمام چیزهایی است که برای شروع توسعه با لاراول نیاز دارید، از جمله پی‌اچ‌پی (PHP) و انجین‌ایکس (Nginx).

به محض نصب هرد (Herd)، شما آماده‌اید تا توسعه با لاراول (Laravel) را آغاز کنید. هرد (Herd) شامل ابزارهای خط فرمان (Command line tools) برای php، کامپوزر (composer)، لاراول (laravel)، اکسپوز (expose)، نود (node)، ان‌پام (npm) و ان‌وی‌ام (nvm) است.

[!NOTE]

نکته (Note)

نسخه پیشرفته هرد یعنی هرد پرو (Herd Pro)، ویژگی‌های قدرتمند بیشتری را به هرد اضافه می‌کند؛ مانند قابلیت ساخت و مدیریت پایگاه‌های داده محلی (MySQL)، پستگرس (Postgres) و ردیس (Redis) و همچنین امکان مشاهده ایمیل‌های محلی (Local mail viewing) و نظارت بر لاگ‌ها (Log monitoring).

هرد روی مک (Herd on macOS)

اگر روی سیستم‌عامل مک (macOS) توسعه می‌دهید، می‌توانید فایل نصب هرد (Herd installer) را از وب‌سایت هرد (Herd) دانلود کنید. این ابزار نصب به صورت خودکار آخرین نسخه پی‌اچ‌پی (PHP) را دانلود کرده و مک شما را به گونه‌ای پیکربندی می‌کند که انجین‌ایکس (Nginx) همیشه در پس‌زمینه (Background) در حال اجرا باشد.

ابزار هرد برای مک (Herd for macOS) از dnsmasq برای پشتیبانی از دایرکتوری‌های «پارک شده» (Parked directories) استفاده می‌کند. هر برنامه لاراولی (Laravel application) که در یک دایرکتوری پارک‌شده قرار داشته باشد، به طور خودکار توسط هرد میزبانی و اجرا می‌شود. به صورت پیش‌فرض، هرد یک دایرکتوری پارک‌شده در مسیر ~/Herd ایجاد می‌کند و شما می‌توانید به هر برنامه لاراولی موجود در این پوشه، روی دامنه .test. و با استفاده از نام دایرکتوری آن دسترسی داشته باشید.

پس از نصب هرد (Herd)، سریع‌ترین راه برای ایجاد یک برنامه لاراول جدید، استفاده از واسط خط فرمان لاراول (Laravel CLI) است که همراه با هرد ارائه می‌شود:

Bash

cd ~/Herd

laravel new my-app

cd my-app

herd open

البته، شما همیشه می‌توانید دایرکتوری‌های پارک‌شده و سایر تنظیمات پی‌اچ‌پی (PHP) خود را از طریق رابط کاربری گرافیکی هرد (Herd's UI) مدیریت کنید؛ این رابط کاربری از طریق منوی هرد در بخش اعلان‌های سیستم (System tray) قابل باز شدن است.

شما می‌توانید با بررسی مستندات هرد (Herd documentation)، اطلاعات بیشتری درباره هرد کسب کنید.

این هم ترجمه این بخش به فرمت مارک‌داون (Markdown):

هرد روی ویندوز (Herd on Windows)

شما می‌توانید فایل نصب ویندوز هرد (Windows installer for Herd) را از وب‌سایت هرد (Herd) دانلود کنید. پس از پایان فرآیند نصب، می‌توانید هرد (Herd) را اجرا کنید تا مراحل راه‌اندازی اولیه (Onboarding process) تکمیل شده و برای اولین بار به رابط کاربری هرد (Herd UI) دسترسی پیدا کنید.

رابط کاربری هرد (Herd UI) با کلیک چپ روی آیکون هرد در بخش اعلان‌های سیستم (System tray) قابل دسترسی است. همچنین با کلیک راست، منوی سریع (Quick menu) باز می‌شود که دسترسی به تمام ابزارهای مورد نیاز روزمره شما را فراهم می‌کند.

در طول نصب، هرد یک دایرکتوری «پارک شده» (Parked directory) در پوشه کاربری شما در مسیر %USERPROFILE%\Herd ایجاد می‌کند. هر برنامه لاراولی (Laravel application) که در یک دایرکتوری پارک‌شده قرار داشته باشد، به طور خودکار توسط هرد میزبانی و اجرا می‌شود و شما می‌توانید به هر برنامه لاراولی موجود در این پوشه، روی دامنه .test. و با استفاده از نام دایرکتوری آن دسترسی داشته باشید.

پس از نصب هرد (Herd)، سریع‌ترین راه برای ایجاد یک برنامه لاراول جدید، استفاده از واسط خط فرمان لاراول (Laravel CLI) است که همراه با هرد ارائه می‌شود. برای شروع، پاورشل (Powershell) را باز کرده و دستورات زیر را اجرا کنید:

PowerShell

cd ~\Herd

laravel new my-app

cd my-app

herd open

شما می‌توانید با بررسی مستندات هرد برای ویندوز (Herd documentation for Windows)، اطلاعات بیشتری درباره هرد کسب کنید.

پشتیبانی از محیط‌های توسعه (IDE Support)

شما هنگام توسعه برنامه‌های لاراولی (Laravel applications) آزادید که از هر ویرایشگر کدی (Code editor) که می‌خواهید استفاده کنید. اگر به دنبال ویرایشگرهای سبک و قابل‌توسعه (Extensible editors) هستید، وی‌اس کد (VS Code) یا کورسر (Cursor) در ترکیب با افزونه رسمی لاراول برای وی‌اس کد (Official Laravel VS Code Extension)، پشتیبانی فوق‌العاده‌ای را از لاراول ارائه می‌دهند؛ این افزونه ویژگی‌هایی مانند برجسته‌سازی سینتکس (Syntax highlighting)، تکه کدهای آماده (Snippets)، یکپارچه‌سازی با دستورات آرتیسان (Artisan command integration) و تکمیل خودکار هوشمند (Smart autocompletion) برای مدل‌های الوکنت (Eloquent models)، مسیرها (Routes)، میان‌افزارها (Middleware)، دارایی‌ها (Assets)، پیکربندی‌ها (Config) و اینرشیا جی‌اس (Inertia.js) را فراهم می‌کند.

برای بهره‌مندی از پشتیبانی گسترده و قدرتمند از لاراول، نگاهی به پی‌اچ‌پیاستورم (PhpStorm) بیندازید که یک محیط توسعه یکپارچه (IDE) از شرکت جت‌برینز (JetBrains) است. پشتیبانی داخلی پی‌اچ‌پیاستورم (PhpStorm) از فریم‌ورک لاراول شامل قالب‌های بلید (Blade templates)، تکمیل خودکار هوشمند برای مدل‌های الوکنت (Eloquent models)، مسیرها (Routes)، ویوها (Views)، ترجمه‌ها (Translations) و کامپوننت‌ها (Components) به همراه ابزارهای قدرتمند تولید کد (Code generation) و ناوبری (Navigation) در سراسر پروژه‌های لاراول است.

برای کسانی که به دنبال تجربه توسعه مبتنی بر ابر (Cloud-based development experience) هستند، فایربیس استودیو (Firebase Studio) امکان دسترسی فوری برای برنامه‌نویسی با لاراول را مستقیماً درون مرورگر شما فراهم می‌کند. فایربیس استودیو (Firebase Studio) بدون نیاز به هیچ‌گونه راه‌اندازی اولیه (Zero setup)، شروع ساخت برنامه‌های لاراولی را از روی هر دستگاهی آسان می‌کند.

لاراول و هوش مصنوعی (Laravel and AI)

لاراول بوست (Laravel Boost) ابزار قدرتمندی است که شکاف میان عامل‌های برنامه‌نویسی هوش مصنوعی (AI coding agents) و برنامه‌های لاراولی (Laravel applications) را پر می‌کند. بوست (Boost) بافت و زمینه (Context)، ابزارها و راهنماهای اختصاصی لاراول را در اختیار عامل‌های هوش مصنوعی قرار می‌دهد تا آن‌ها بتوانند کدهای دقیق‌تر و سازگار با نسخه پروژه (Version-specific code) تولید کنند که کاملاً از قراردادهای لاراول (Laravel conventions) پیروی می‌کند.

هنگامی که بوست (Boost) را در برنامه لاراولی خود نصب می‌کنید، عامل‌های هوش مصنوعی به بیش از ۱۵ ابزار تخصصی دسترسی پیدا می‌کنند؛ از جمله توانایی تشخیص پکیج‌های (Packages) مورد استفاده شما، کوئری زدن و پرس‌وجو در پایگاه داده (Query your database)، جستجو در مستندات لاراول، خواندن لاگ‌های مرورگر (Browser logs)، تولید تست‌ها (Generate tests) و اجرای کدها از طریق تینکر (Tinker).

علاوه بر این، بوست (Boost) به عامل‌های هوش مصنوعی امکان دسترسی به بیش از ۱۷,۰۰۰ بخش از مستندات برداری‌شده‌ی (Vectorized documentation) اکوسیستم لاراول را می‌دهد که دقیقاً متناسب با نسخه‌های پکیج نصب‌شده در پروژه شماست. این بدان معناست که عامل‌ها می‌توانند راهنمایی‌هایی کاملاً هدفمند و منطبق بر همان نسخه‌هایی که پروژه‌تان استفاده می‌کند، ارائه دهند.

بوست (Boost) همچنین شامل راهنماهای هوش مصنوعی (AI guidelines) نگهداری‌شده توسط خودِ تیم لاراول است؛ این راهنماها به عامل‌ها کمک می‌کنند تا از قراردادهای فریم‌ورک (Framework conventions) پیروی کنند، تست‌های مناسب بنویسند و هنگام تولید کدهای لاراول، از اشتباهات رایج (Common pitfalls) دوری کنند.

این هم ترجمه این بخش به فرمت مارک‌داون (Markdown):

نصب لاراول بوست (Installing Laravel Boost)

بوست (Boost) می‌تواند روی برنامه‌های لاراول نسخه‌های ۱۰، ۱۱، ۱۲ و ۱۳ که با پی‌اچ‌پای ۸.۱ (PHP 8.1) یا بالاتر اجرا می‌شوند، نصب شود. برای شروع، بوست (Boost) را به عنوان یک وابستگی زمان توسعه (Development dependency) نصب کنید:

Bash

composer require laravel/boost --dev

پس از نصب، ابزار نصب تعاملی (Interactive installer) را اجرا کنید:

Bash

php artisan boost:install

این ابزار نصب به طور خودکار محیط توسعه (IDE) و عامل‌های هوش مصنوعی (AI agents) شما را شناسایی کرده و به شما امکان می‌دهد ویژگی‌هایی را که برای پروژه‌تان منطقی و کاربردی هستند، انتخاب کنید. بوست (Boost) به قراردادهای ساختاری موجود در پروژه شما احترام می‌گذارد و به صورت پیش‌فرض، قوانین استایل‌دهی خاصی را به شما تحمیل نمی‌کند.

[!NOTE]

نکته (Note)

برای کسب اطلاعات بیشتر در مورد بوست، مخزن لاراول بوست (Laravel Boost repository) را در گیت‌هاب بررسی کنید.

افزودن راهنماهای اختصاصی هوش مصنوعی (Adding Custom AI Guidelines)

برای گسترش و تقویت لاراول بوست (Laravel Boost) با دستورالعمل‌ها و راهنماهای هوش مصنوعیِ اختصاصی خودتان، فایل‌هایی با پسوند .blade.php یا .md را به دایرکتوری .ai/guidelines/* در برنامه خود اضافه کنید. این فایل‌ها هنگام اجرای دستور boost:install به صورت خودکار در کنار راهنماهای پیش‌فرض لاراول بوست قرار خواهند گرفت.

قدم‌های بعدی (Next Steps)

اکنون که برنامه لاراولی (Laravel application) خود را ایجاد کرده‌اید، ممکن است برایتان سؤال باشد که در قدم بعدی باید چه چیزهایی را یاد بگیرید. در درجه اول، ما به شدت توصیه می‌کنیم که با مطالعه مستندات زیر، با نحوه کارکرد لاراول آشنا شوید:

  • چرخه حیات درخواست (Request Lifecycle)
  • پیکربندی (Configuration)
  • ساختار دایرکتوری (Directory Structure)
  • فرانت‌اند (Frontend)
  • کانتینر سرویس (Service Container)
  • فسادها (Facades)

نحوه استفاده شما از لاراول، مسیر و قدم‌های بعدی‌تان را تعیین خواهد کرد. روش‌های مختلفی برای استفاده از لاراول وجود دارد و ما در ادامه، دو مورد از کاربردهای اصلی (Primary use cases) این فریم‌ورک را بررسی خواهیم کرد.

لاراول به عنوان یک فریم‌ورک فول‌استک (Laravel the Full Stack Framework)

لاراول (Laravel) می‌تواند به عنوان یک فریم‌ورک فول‌استک (Full stack framework) عمل کند. منظور ما از فریم‌ورک «فول‌استک» این است که شما از لاراول برای مسیریابی درخواست‌ها (Routing requests) به برنامه‌تان و رندر کردن یا نمایش فرانت‌اند (Frontend) خود از طریق قالب‌های بلید (Blade templates) یا یک فناوری ترکیبیِ اپلیکیشن تک‌صفحه‌ای (Single-page application hybrid technology) مانند اینرشیا (Inertia) استفاده خواهید کرد. این رایج‌ترین روش استفاده از فریم‌ورک لاراول است و به نظر ما، بهره‌ورترین و کارآمدترین راه برای استفاده از آن به شمار می‌رود.

اگر تصمیم دارید از لاراول به این صورت استفاده کنید، شاید بهتر باشد مستندات ما را در زمینه‌های توسعه فرانت‌اند (Frontend development)، مسیریابی (Routing)، ویوها (Views) یا نگاشت شیء-رابطه‌ای الوکنت (Eloquent ORM) بررسی کنید. علاوه بر این، ممکن است به یادگیری درباره پکیج‌های جامعه‌محور مانند لایووایر (Livewire) و اینرشیا (Inertia) علاقه‌مند باشید. این پکیج‌ها به شما اجازه می‌دهند از لاراول به عنوان یک فریم‌ورک فول‌استک استفاده کنید و در عین حال، از مزایای متعدد رابط کاربری (UI benefits) که برنامه‌های تک‌صفحه‌ای جاوااسکریپت (Single-page JavaScript applications) ارائه می‌دهند، بهره‌مند شوید.

اگر از لاراول به عنوان یک فریم‌ورک فول‌استک استفاده می‌کنید، شدیداً شما را تشویق می‌کنیم که نحوه کامپایل کردن سی‌اس‌اس (CSS) و جاوااسکریپت (JavaScript) برنامه‌تان را با استفاده از ویت (Vite) یاد بگیرید.

[!NOTE]

نکته (Note)

اگر می‌خواهید در ساخت برنامه خود یک قدم جلوتر باشید، یکی از استارتر کیت‌های رسمی (Official application starter kits) ما را بررسی کنید.

لاراول به عنوان بک‌اند ای‌پي‌آی (Laravel the API Backend)

لاراول (Laravel) همچنین می‌تواند به عنوان یک بک‌اند ای‌پي‌آی (API backend) برای یک اپلیکیشن تک‌صفحه‌ای جاوااسکریپت (JavaScript single-page application) یا یک اپلیکیشن موبایل عمل کند. به عنوان مثال، شما می‌توانید از لاراول به عنوان بک‌اند API برای برنامه نکست‌جی‌اس (Next.js) خود استفاده کنید. در این بافت و کاربرد، شما از لاراول برای تأمین احراز هویت (Authentication) و ذخیره‌سازی/بازیابی داده‌ها (Data storage / retrieval) در برنامه خود استفاده می‌کنید، در حالی که هم‌زمان از سرویس‌های قدرتمند لاراول مانند صف‌ها (Queues)، ایمیل‌ها، اعلان‌ها (Notifications) و موارد دیگر نیز بهره‌مند می‌شوید.

اگر قصد دارید از لاراول به این صورت استفاده کنید، ممکن است مایل باشید مستندات ما را در زمینه‌های مسیریابی (Routing)، لاراول سنکتوم (Laravel Sanctum) و نگاشت شیء-رابطه‌ای الوکنت (Eloquent ORM) بررسی کنید.