سی ام اس نویسسی ام اس نویسیاد بگیر، سیستم خودتو بنویس
مجلهتماس با ما
سی ام اس نویسسی ام اس نویس

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

پیوندهای سریع
محصولات فیزیکیمحصولات دیجیتالدوره‌های آموزشی
سی ام اس نویس
مجله سی ام اس نویستماس با ماپنل کاربری
سی ام اس نویس — تمامی حقوق برای سی ام اس نویس محفوظ است. © 1406 تماس با ما09307711941
آموزش Composer در PHP؛ نصب، دستورات و مدیریت پکیج‌ها

آموزش Composer در PHP؛ نصب، دستورات و مدیریت پکیج‌ها

ممدیر کل سیستم ۱۸ شهریور ۱۴۰۵ ۱۷ دقیقه مطالعه ۳ بازدید
آموزش Composer در PHP؛ نصب، دستورات و مدیریت پکیج‌ها

اگر در حال یادگیری PHP هستید و قصد دارید وارد توسعه پروژه‌های حرفه‌ای شوید، دیر یا زود با Composer مواجه خواهید شد.

Composer یکی از مهم‌ترین ابزارهای اکوسیستم PHP است که برای مدیریت Packageها و Dependencyهای پروژه استفاده می‌شود. Frameworkهایی مانند Laravel نیز برای مدیریت وابستگی‌های خود به Composer متکی هستند.

در مقاله قبلی با مفهوم Composer و کاربرد آن در PHP آشنا شدیم. در این مقاله می‌خواهیم وارد بخش عملی شویم و از نصب Composer گرفته تا ایجاد پروژه، نصب Package، حذف Package، مدیریت نسخه‌ها، کار با composer.json و composer.lock و Autoload را مرحله‌به‌مرحله بررسی کنیم.

در پایان این آموزش می‌توانید Composer را در پروژه‌های PHP خود به شکل حرفه‌ای‌تری استفاده کنید.


# Composer چیست؟

Composer یک ابزار مدیریت Dependency برای زبان PHP است.

فرض کنید پروژه شما به چند کتابخانه مختلف نیاز دارد:


Project

├── HTTP Client

├── Logger

├── PDF Library

├── Testing Library

└── Database Library

مدیریت دستی این کتابخانه‌ها کار ساده‌ای نیست.

Composer این Dependencyها را مدیریت می‌کند و امکان نصب، حذف و به‌روزرسانی آنها را در اختیار شما قرار می‌دهد.

برای مثال:


composer require monolog/monolog

با این دستور Package موردنظر به پروژه اضافه می‌شود.

اگر با مفهوم Composer آشنا نیستید، پیشنهاد می‌کنیم ابتدا مقاله Composer چیست؟ را مطالعه کنید و سپس این آموزش عملی را ادامه دهید.


# پیش‌نیازهای نصب Composer

قبل از نصب Composer باید PHP روی سیستم شما نصب باشد.

برای بررسی نصب بودن PHP، در Terminal یا Command Prompt اجرا کنید:


php -v

اگر PHP به درستی نصب شده باشد، نسخه PHP نمایش داده می‌شود.

مثلاً:


PHP 8.x.x

اگر دستور php شناخته نشد، احتمالاً PHP در PATH سیستم قرار نگرفته است.


# نصب Composer در ویندوز

برای نصب Composer در Windows معمولاً می‌توانید از Installer رسمی Composer استفاده کنید.

پس از نصب، Terminal جدیدی باز کنید و دستور زیر را اجرا کنید:


composer -V

یا:


composer --version

اگر نصب موفقیت‌آمیز باشد، نسخه Composer نمایش داده می‌شود.

مثلاً:


Composer version 2.x.x


# نصب Composer در Ubuntu و Linux

در سیستم‌های Linux می‌توانید Composer را از Installer رسمی آن نصب کنید.

ابتدا مطمئن شوید PHP و ابزارهای موردنیاز نصب هستند.

سپس Installer را دریافت کنید:


php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

بعد از دریافت Installer می‌توانید Composer را نصب کنید.

برای نصب عمومی روی سیستم، معمولاً Composer در مسیری مانند زیر قرار می‌گیرد:


/usr/local/bin/composer

پس از نصب:


composer --version

را اجرا کنید.

> در Serverهای Production بهتر است نصب Composer را مطابق سیاست و محدودیت‌های همان Server انجام دهید.


# بررسی نسخه Composer

برای مشاهده نسخه نصب‌شده:


composer --version

یا:


composer -V

استفاده کنید.

برای مثال:


Composer version 2.x.x

نمایش داده می‌شود.


# ساخت اولین پروژه PHP با Composer

برای شروع یک پروژه ساده، یک پوشه ایجاد کنید:


mkdir my-project

سپس وارد آن شوید:


cd my-project

حالا:


composer init

را اجرا کنید.

Composer از شما اطلاعات مختلفی درباره پروژه می‌پرسد و در نهایت فایل:


composer.json

را ایجاد می‌کند.


# composer.json چیست؟

فایل composer.json قلب Dependency Management پروژه است.

یک نمونه ساده:


{

    "name": "example/my-project",

    "description": "My PHP project",

    "require": {}

}

در این فایل می‌توانیم Dependencyهای پروژه را تعریف کنیم.

مثلاً:


{

    "require": {

        "monolog/monolog": "^3.0"

    }

}

در این حالت پروژه به Package مربوط به Monolog نیاز دارد.


# نصب اولین Package با Composer

یکی از ساده‌ترین روش‌های کار با Composer استفاده از دستور:


composer require

است.

مثلاً:


composer require monolog/monolog

Composer Package را دانلود کرده و Dependencyهای لازم آن را نیز بررسی و نصب می‌کند.

بعد از اجرای دستور، فایل composer.json نیز به‌روزرسانی می‌شود.


# Composer چه فایل‌هایی ایجاد می‌کند؟

بعد از نصب Package معمولاً ساختاری مشابه زیر خواهید داشت:


my-project/

├── vendor/

├── composer.json

└── composer.lock

پوشه vendor محل Dependencyهای نصب‌شده است.

composer.json Dependencyهای پروژه را تعریف می‌کند.

و composer.lock نسخه‌های انتخاب‌شده Dependencyها را ثبت می‌کند.


# پوشه vendor چیست؟

پوشه:


vendor/

محل قرارگیری Packageهای نصب‌شده توسط Composer است.

برای مثال:


vendor/

├── composer/

├── monolog/

└── psr/

Dependencyهای اصلی و Dependencyهای غیرمستقیم در این ساختار قرار می‌گیرند.


# آیا vendor را در Git قرار دهیم؟

در بیشتر پروژه‌های PHP معمولاً vendor/ داخل Git قرار نمی‌گیرد.

در .gitignore:


/vendor/

قرار داده می‌شود.

در عوض:


composer.json

composer.lock

در Repository ذخیره می‌شوند.

بعد از Clone کردن پروژه روی سیستم دیگر می‌توان اجرا کرد:


composer install

تا Dependencyها نصب شوند.


# دستور composer install

یکی از مهم‌ترین دستورات Composer:


composer install

است.

این دستور Dependencyهای پروژه را نصب می‌کند.

اگر composer.lock وجود داشته باشد، Composer از نسخه‌های مشخص‌شده در آن استفاده می‌کند.

این موضوع برای Deployment بسیار مهم است.

برای مثال در پروژه Production می‌توان از:


composer install --no-dev --optimize-autoloader

استفاده کرد.


# دستور composer update

برای به‌روزرسانی Dependencyها:


composer update

استفاده می‌شود.

این دستور Dependencyها را بر اساس Constraintهای موجود در composer.json مجدداً بررسی می‌کند و در صورت امکان نسخه‌های جدید را انتخاب می‌کند.

همچنین composer.lock را به‌روزرسانی می‌کند.

نکته مهم

روی Production نباید بدون دلیل از:


composer update

استفاده کنید.

برای Deployment معمولاً:


composer install

انتخاب مناسب‌تری است.


# تفاوت composer install و composer update

این دو دستور را با یکدیگر اشتباه نگیرید.

دستورکاربرد
composer installنصب Dependencyهای پروژه
composer updateبه‌روزرسانی Dependencyها و Lock File
composer requireاضافه کردن Package جدید
composer removeحذف Package
composer dump-autoloadبازسازی Autoloader
composer showنمایش Packageهای نصب‌شده

# حذف Package با composer remove

اگر دیگر به Package خاصی نیاز ندارید:


composer remove monolog/monolog

را اجرا کنید.

Composer Package را حذف کرده و composer.json و composer.lock را نیز به‌روزرسانی می‌کند.


# نصب Package فقط برای Development

اگر Package فقط در محیط Development موردنیاز است، می‌توان آن را با:


composer require --dev phpunit/phpunit

نصب کرد.

در این حالت Dependency در بخش:


{

    "require-dev": {

        "phpunit/phpunit": "..."

    }

}

قرار می‌گیرد.


# require و require-dev

دو بخش مهم composer.json عبارت‌اند از:


{

    "require": {},

    "require-dev": {}

}

Dependencyهای Runtime در:


require

و Dependencyهای Development در:


require-dev

قرار می‌گیرند.

برای مثال ابزار تست معمولاً Dependency مربوط به Development است.


# نصب بدون Dependencyهای Development

در Production می‌توان Dependencyهای Development را نصب نکرد:


composer install --no-dev

این کار باعث می‌شود Packageهای بخش require-dev نصب نشوند.


# composer.lock چیست؟

فایل:


composer.lock

نسخه دقیق Dependencyهای انتخاب‌شده پروژه را ثبت می‌کند.

برای مثال ممکن است پروژه در composer.json بگوید:


{

    "require": {

        "vendor/package": "^2.0"

    }

}

اما Composer در زمان نصب یک نسخه مشخص را انتخاب کند.

این نسخه دقیق در composer.lock ثبت می‌شود.


# چرا composer.lock مهم است؟

فرض کنید پروژه روی سیستم شما به درستی کار می‌کند.

اگر فقط composer.json را به سیستم دیگری منتقل کنید، ممکن است Composer نسخه متفاوتی از برخی Dependencyها را انتخاب کند.

اما وقتی composer.lock نیز همراه پروژه باشد، Dependency Resolution قابل پیش‌بینی‌تر می‌شود.

به همین دلیل در Applicationهای واقعی معمولاً composer.lock اهمیت زیادی دارد.


# نصب Package با نسخه مشخص

می‌توان نسخه Package را نیز مشخص کرد.

مثلاً:


composer require monolog/monolog:^3.0

یا Constraint مناسب پروژه را در composer.json قرار داد.

مثلاً:


{

    "require": {

        "monolog/monolog": "^3.0"

    }

}


# Version Constraint در Composer

Composer از Constraintهای مختلفی برای مدیریت نسخه استفاده می‌کند.

نمونه‌هایی مانند:


^3.0

~3.0

>=3.0

>3.0

<4.0

3.2.1

را ممکن است در پروژه‌ها مشاهده کنید.

مفهوم دقیق هر Constraint مهم است، زیرا انتخاب نسخه Dependency را تحت تأثیر قرار می‌دهد.


# مشاهده Packageهای نصب‌شده

برای مشاهده Dependencyهای نصب‌شده:


composer show

را اجرا کنید.

این دستور اطلاعات Packageهای پروژه را نمایش می‌دهد.

برای مشاهده اطلاعات یک Package مشخص نیز می‌توانید نام Package را به دستور بدهید.


# جستجوی Package

در اکوسیستم Composer Packageهای بسیار زیادی وجود دارند.

برای پیدا کردن Package مناسب می‌توانید از Repositoryهای عمومی Composer مانند Packagist استفاده کنید.

هنگام انتخاب Package فقط به تعداد دانلود توجه نکنید.

مواردی مانند:

  • آخرین نسخه
  • وضعیت نگهداری
  • Compatibility
  • تعداد Issueهای باز
  • مستندات
  • License
  • وابستگی‌ها
  • فعالیت Repository

را نیز بررسی کنید.


# composer dump-autoload چیست؟

Composer برای مدیریت Autoload فایل‌هایی تولید می‌کند.

اگر تنظیمات Autoload را تغییر دهید، می‌توانید اجرا کنید:


composer dump-autoload

این دستور Autoloader را مجدداً تولید می‌کند.

در پروژه‌های Production نیز می‌توان Autoload را Optimize کرد:


composer dump-autoload -o

یا:


composer dump-autoload --optimize


# تعریف Autoload با PSR-4

فرض کنید ساختار پروژه ما این باشد:


my-project/

├── src/

│   ├── Models/

│   │   └── User.php

│   └── Services/

│       └── UserService.php

├── composer.json

└── vendor/

در composer.json می‌توانیم بنویسیم:


{

    "autoload": {

        "psr-4": {

            "App\\": "src/"

        }

    }

}

بعد:


composer dump-autoload

را اجرا می‌کنیم.

اکنون Namespace:


App\Models

می‌تواند به مسیر:


src/Models/

Mapping شود.


# استفاده از vendor/autoload.php

بعد از نصب Dependencyها، Composer فایل Autoload ایجاد می‌کند.

در پروژه PHP می‌توانیم:


require __DIR__ . '/vendor/autoload.php';

را اجرا کنیم.

بعد از آن امکان استفاده از کلاس‌هایی که توسط Composer مدیریت می‌شوند فراهم می‌شود.

مثلاً:


<?php



require __DIR__ . '/vendor/autoload.php';



use Monolog\Logger;



$log = new Logger('app');

در اینجا نیازی نیست فایل کلاس Monolog را به صورت دستی require کنیم.


# Autoload در Composer چگونه کار می‌کند؟

به صورت ساده:


composer.json

       ↓

autoload configuration

       ↓

composer dump-autoload

       ↓

vendor/autoload.php

       ↓

PHP Application

       ↓

Automatic Class Loading

Composer بر اساس تنظیمات Autoload می‌تواند کلاس‌ها را در زمان نیاز پیدا و Load کند.


# Composer Scripts چیست؟

Composer امکان تعریف Script نیز دارد.

مثلاً:


{

    "scripts": {

        "test": "phpunit"

    }

}

بعد می‌توان اجرا کرد:


composer test

این قابلیت برای Automation در پروژه‌ها بسیار کاربردی است.

می‌توان Scriptهایی برای:

  • تست
  • Code Style
  • Static Analysis
  • Build
  • Deployment

تعریف کرد.


# بررسی مشکلات Dependency

گاهی Composer نمی‌تواند Dependency موردنظر را نصب کند.

در چنین شرایطی بررسی علت Conflict بسیار مهم است.

دستورات:


composer why

و:


composer why-not

می‌توانند برای پیدا کردن علت Dependency Conflict مفید باشند.

مثلاً اگر یک Package به نسخه خاصی از یک Library نیاز داشته باشد، این دستورات می‌توانند در تحلیل Dependency Graph کمک کنند.


# خطای رایج: ناسازگاری نسخه PHP

یکی از خطاهای رایج Composer این است که Package موردنظر با نسخه PHP سیستم سازگار نیست.

مثلاً یک Package ممکن است حداقل به PHP نسخه خاصی نیاز داشته باشد.

برای بررسی نسخه PHP:


php -v

را اجرا کنید.

همچنین Composer هنگام Dependency Resolution محدودیت‌های Platform را بررسی می‌کند.

بنابراین اگر Composer خطایی مربوط به PHP Version نمایش داد، ابتدا نسخه PHP CLI را بررسی کنید.


# خطای رایج: composer command not found

اگر بعد از نصب Composer با:


composer

خطایی مانند:


command not found

دریافت کردید، احتمالاً Composer در PATH سیستم قرار نگرفته است.

در Linux می‌توانید مسیر Composer را بررسی کنید.

همچنین مطمئن شوید Terminal را بعد از تغییر PATH مجدداً باز کرده‌اید.


# خطای رایج: Memory Limit

برخی پروژه‌های بزرگ هنگام اجرای Composer ممکن است Memory زیادی مصرف کنند.

در چنین شرایطی ابتدا باید علت مصرف بالا مشخص شود.

افزایش Memory Limit ممکن است در بعضی محیط‌ها کمک کند، اما بهتر است قبل از تغییر محدودیت‌ها، Dependencyها و شرایط اجرای Composer بررسی شوند.


# Composer در پروژه Laravel

اگر با Laravel کار می‌کنید، Composer بخش مهمی از Workflow شما خواهد بود.

بعد از دریافت یک پروژه Laravel از Git معمولاً یکی از اولین دستورات:


composer install

است.

برای اضافه کردن Package نیز معمولاً:


composer require vendor/package

استفاده می‌شود.

مثلاً:


composer require laravel/sanctum

پس از نصب Package، در صورت نیاز مراحل Configuration و Migration مربوط به همان Package را نیز انجام می‌دهید.


# Composer در Deployment

یک Workflow ساده برای Deployment پروژه PHP می‌تواند شبیه این باشد:


git pull

composer install --no-dev --optimize-autoloader

اما در پروژه‌های واقعی ممکن است مراحل دیگری نیز وجود داشته باشد.

برای مثال:


Git Pull

   ↓

Composer Install

   ↓

Database Migration

   ↓

Cache Clear / Build

   ↓

Application Restart

دستورات دقیق باید بر اساس Framework و معماری پروژه تعیین شوند.


# بهترین روش استفاده از Composer در پروژه‌های حرفه‌ای

برای استفاده بهتر از Composer نکات زیر را رعایت کنید:

۱. Dependencyهای غیرضروری اضافه نکنید

هر Package جدید یک Dependency جدید به پروژه اضافه می‌کند.

۲. وضعیت Package را بررسی کنید

قبل از نصب یک Package، کیفیت و وضعیت نگهداری آن را بررسی کنید.

۳. composer.lock را جدی بگیرید

برای Applicationهایی که Deployment دارند، Lock File اهمیت زیادی دارد.

۴. روی Production بی‌دلیل update نکنید

معمولاً Dependencyهای تست‌شده را با composer install نصب کنید.

۵. require-dev را برای ابزارهای Development استفاده کنید

ابزارهایی مانند Testing و Static Analysis معمولاً نیازی در Runtime ندارند.

۶. Dependencyها را مرتب بررسی کنید

Packageهای قدیمی یا بدون نگهداری می‌توانند ریسک امنیتی و فنی ایجاد کنند.

۷. Autoload را بشناسید

در پروژه‌های حرفه‌ای PHP، درک PSR-4 و Autoload بسیار مهم است.


# دستورات مهم Composer

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

دستورکاربرد
composer -Vمشاهده نسخه Composer
composer initایجاد composer.json
composer require packageنصب Package
composer require --dev packageنصب Development Package
composer remove packageحذف Package
composer installنصب Dependencyها
composer updateبه‌روزرسانی Dependencyها
composer showنمایش Packageها
composer dump-autoloadبازسازی Autoload
composer dump-autoload -oOptimize کردن Autoload
composer whyبررسی علت وجود Dependency
composer why-notبررسی علت عدم امکان نصب نسخه

# یک مثال کامل از پروژه PHP با Composer

فرض کنید می‌خواهیم پروژه‌ای بسازیم که از Monolog استفاده می‌کند.

ابتدا:


mkdir php-composer-demo

cd php-composer-demo

سپس:


composer init

بعد:


composer require monolog/monolog

ساختار پروژه:


php-composer-demo/

├── vendor/

├── composer.json

└── composer.lock

حالا یک فایل:


index.php

ایجاد کنید.

محتوای آن:


<?php



require __DIR__ . '/vendor/autoload.php';



use Monolog\Logger;

use Monolog\Handler\StreamHandler;



$log = new Logger('app');



$log->pushHandler(

    new StreamHandler(__DIR__ . '/app.log')

);



$log->info('Application started');



echo 'Log created successfully.';

حالا:


php index.php

را اجرا کنید.

Composer Autoloader کلاس‌های موردنیاز را مدیریت می‌کند و برنامه می‌تواند از Package نصب‌شده استفاده کند.


# Composer و مدیریت حرفه‌ای Dependency

وقتی تعداد Packageهای پروژه افزایش پیدا می‌کند، اهمیت Composer بیشتر می‌شود.

برای مثال یک پروژه واقعی ممکن است Dependencyهایی مانند:


Framework

HTTP Client

Logger

Database Library

Cache Library

Testing Framework

Static Analyzer

داشته باشد.

Composer کمک می‌کند این وابستگی‌ها قابل مدیریت و قابل تکرار باشند.

اما نکته مهم این است که Dependency بیشتر همیشه به معنی پروژه بهتر نیست.

هر Package جدید باید بر اساس نیاز واقعی پروژه اضافه شود.


# جمع‌بندی آموزش Composer

در این آموزش یاد گرفتیم که چگونه Composer را در پروژه‌های PHP استفاده کنیم.

مهم‌ترین مواردی که یاد گرفتیم عبارت‌اند از:

  • نصب Composer
  • بررسی نسخه Composer
  • ساخت composer.json
  • نصب Package
  • حذف Package
  • استفاده از require-dev
  • اجرای composer install
  • اجرای composer update
  • مفهوم composer.lock
  • مفهوم vendor
  • ساخت Autoload
  • استفاده از PSR-4
  • اجرای composer dump-autoload
  • بررسی Dependencyها
  • استفاده از Composer در Laravel
  • استفاده از Composer در Deployment

Composer یکی از ابزارهای پایه برای توسعه مدرن PHP است و تسلط بر آن برای کار با Frameworkهایی مانند Laravel اهمیت زیادی دارد.

در مرحله بعدی، بهتر است به صورت عمیق‌تر سراغ Autoload در PHP برویم و بررسی کنیم PHP و Composer چگونه کلاس‌ها را بدون require کردن دستی فایل‌ها Load می‌کنند.


# سوالات متداول آموزش Composer

Composer چگونه نصب می‌شود؟

Composer ابتدا به PHP نیاز دارد. پس از نصب PHP می‌توانید Composer را روی Windows، Linux و سایر سیستم‌های پشتیبانی‌شده نصب کرده و با دستور composer -V نصب آن را بررسی کنید.

دستور نصب Package در Composer چیست؟

برای نصب Package از دستور زیر استفاده می‌شود:


composer require vendor/package

تفاوت composer install و composer update چیست؟

composer install Dependencyهای پروژه را نصب می‌کند و در صورت وجود composer.lock از نسخه‌های ثبت‌شده در آن استفاده می‌کند. composer update Dependencyها را بر اساس Constraintهای composer.json مجدداً بررسی و به‌روزرسانی می‌کند.

composer.json چیست؟

فایل composer.json اطلاعات پروژه و Dependencyهای آن را نگهداری می‌کند.

composer.lock چیست؟

این فایل نسخه‌های دقیق Dependencyهای انتخاب‌شده برای پروژه را ثبت می‌کند.

vendor در Composer چیست؟

vendor پوشه‌ای است که Composer Dependencyهای نصب‌شده و فایل‌های Autoload مربوط به آنها را در آن قرار می‌دهد.

آیا vendor را در Git قرار دهیم؟

در اغلب پروژه‌های PHP، vendor/ در Git قرار نمی‌گیرد و Dependencyها در محیط مقصد با composer install نصب می‌شوند.

چگونه یک Package را حذف کنیم؟

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


composer remove vendor/package

چگونه Composer را به‌روزرسانی کنیم؟

به‌روزرسانی خود Composer با به‌روزرسانی Dependencyهای پروژه متفاوت است. برای Dependencyهای پروژه معمولاً از composer update استفاده می‌شود؛ اما برای خود Composer باید روش متناسب با نحوه نصب آن را استفاده کرد.

composer dump-autoload چه کاری انجام می‌دهد؟

این دستور Autoloader Composer را مجدداً تولید می‌کند و زمانی که تنظیمات Autoload پروژه تغییر کرده باشد کاربرد زیادی دارد.


# مقالات مرتبط

برای ساخت یک ساختار لینک‌سازی داخلی قوی در Cluster آموزش PHP، از این مقاله به صفحات مرتبط زیر لینک بده:

  • Composer چیست؟
  • Autoload در PHP
  • Namespace در PHP
  • OOP در PHP
  • Dependency Injection در PHP
  • SOLID در PHP
  • Design Pattern در PHP
  • PHP و MySQL
  • REST API با PHP
  • ساخت API با PHP

همچنین حتماً یک لینک طبیعی به Pillar اصلی «آموزش برنامه نویسی وب و PHP» قرار بده.

نظرات (0)

نظرات پس از تأیید مدیر نمایش داده می‌شوند

هنوز نظری ثبت نشده است؛ اولین نفر باشید!

مقالات مرتبط

ساخت CMS با Laravel 12؛ آموزش ساخت سیستم مدیریت محتوا از صفر

ساخت CMS با Laravel 12؛ آموزش ساخت سیستم مدیریت محتوا از صفر

۲۴ دقیقه
ساخت فروشگاه اینترنتی با Laravel 12؛ آموزش پروژه‌محور از صفر تا طراحی هسته فروشگاه

ساخت فروشگاه اینترنتی با Laravel 12؛ آموزش پروژه‌محور از صفر تا طراحی هسته فروشگاه

۲۲ دقیقه
ساخت Marketplace با Laravel؛ آموزش طراحی فروشگاه چندفروشندگی

ساخت Marketplace با Laravel؛ آموزش طراحی فروشگاه چندفروشندگی

۲۲ دقیقه
مدیریت Queueهای سنگین در Laravel؛ آموزش پردازش کارهای طولانی

مدیریت Queueهای سنگین در Laravel؛ آموزش پردازش کارهای طولانی

۲۲ دقیقه