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

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

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

حلقه‌ها در PHP چیست؟ آموزش کامل for، while، do while و foreach

ممدیر کل سیستم ۱۷ شهریور ۱۴۰۵ ۱۸ دقیقه مطالعه ۳ بازدید
حلقه‌ها در PHP چیست؟ آموزش کامل for، while، do while و foreach

در برنامه‌نویسی بسیاری از مواقع لازم است یک عملیات را چندین بار تکرار کنیم.

برای مثال تصور کنید در یک فروشگاه اینترنتی می‌خواهیم:

  • نام ۱۰۰ محصول را نمایش دهیم.
  • روی تمام کاربران یک عملیات انجام دهیم.
  • اطلاعات تمام سفارش‌های یک مشتری را پردازش کنیم.
  • اعداد ۱ تا ۱۰۰ را چاپ کنیم.
  • تمام عناصر یک Array را بررسی کنیم.
  • روی لیستی از محصولات یک تخفیف مشخص اعمال کنیم.

نوشتن یک دستور جداگانه برای هر مورد منطقی نیست. اینجاست که حلقه‌ها یا Loops در PHP وارد می‌شوند.

حلقه به ما اجازه می‌دهد یک بخش از کد را تا زمانی که یک شرط برقرار است یا تا زمانی که تمام داده‌های موردنظر پیمایش شوند، چندین بار اجرا کنیم.

در PHP چند نوع حلقه اصلی وجود دارد:

  • for
  • while
  • do...while
  • foreach

همچنین ابزارهایی مانند break و continue به ما اجازه می‌دهند نحوه اجرای حلقه را کنترل کنیم.

در این آموزش تمام این ساختارها را با مثال‌های ساده و کاربردی بررسی می‌کنیم.


# حلقه در PHP چیست؟

حلقه یا Loop ساختاری در برنامه‌نویسی است که اجازه می‌دهد یک قطعه کد چندین بار اجرا شود.

مثلاً اگر بخواهیم اعداد ۱ تا ۵ را نمایش دهیم، می‌توانیم بنویسیم:


for ($i = 1; $i <= 5; $i++) {

    echo $i;

}

خروجی:


1

2

3

4

5

به جای اینکه پنج بار echo بنویسیم، یک حلقه ایجاد کرده‌ایم که عملیات موردنظر را پنج بار انجام می‌دهد.


# انواع حلقه در PHP

چهار حلقه اصلی PHP عبارت‌اند از:

حلقهکاربرد
forزمانی که تعداد تکرار مشخص یا قابل محاسبه است
whileزمانی که تکرار بر اساس یک شرط ادامه پیدا می‌کند
do...whileزمانی که می‌خواهیم کد حداقل یک بار اجرا شود
foreachپیمایش Array و داده‌های قابل پیمایش

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


# حلقه for در PHP

حلقه for یکی از رایج‌ترین حلقه‌ها در PHP است.

ساختار کلی آن:


for (initialization; condition; increment) {

    // code

}

مثلاً:


for ($i = 1; $i <= 5; $i++) {

    echo $i;

}

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


$i = 1

مقدار اولیه را مشخص می‌کند.


$i <= 5

شرط ادامه اجرای حلقه است.

و:


$i++

بعد از هر بار اجرای حلقه مقدار $i را افزایش می‌دهد.


# اجرای مرحله‌به‌مرحله حلقه for

کد زیر را در نظر بگیرید:


for ($i = 1; $i <= 3; $i++) {

    echo $i;

}

اجرای حلقه تقریباً به این صورت است:


$i = 1

↓

1 <= 3 → true

↓

echo 1

↓

$i++

↓

$i = 2

↓

2 <= 3 → true

↓

echo 2

↓

$i++

↓

$i = 3

↓

3 <= 3 → true

↓

echo 3

↓

$i++

↓

$i = 4

↓

4 <= 3 → false

↓

پایان حلقه

درک این فرآیند برای یادگیری Loopها بسیار مهم است.


# شمارش معکوس با for در PHP

می‌توان حلقه را از عدد بزرگ‌تر به عدد کوچک‌تر اجرا کرد:


for ($i = 10; $i >= 1; $i--) {

    echo $i;

}

خروجی:


10

9

8

7

6

5

4

3

2

1


# افزایش مقدار با گام مشخص

لازم نیست مقدار متغیر در هر مرحله فقط یک واحد افزایش پیدا کند.

مثلاً:


for ($i = 0; $i <= 20; $i += 5) {

    echo $i;

}

خروجی:


0

5

10

15

20


# حلقه for و Array

اگرچه برای پیمایش Array معمولاً foreach انتخاب مناسب‌تری است، اما می‌توان با for نیز این کار را انجام داد.

مثلاً:


$colors = ["red", "green", "blue"];



for ($i = 0; $i < count($colors); $i++) {

    echo $colors[$i];

}

در این مثال count() تعداد عناصر Array را مشخص می‌کند.


# حلقه while در PHP

حلقه while تا زمانی اجرا می‌شود که شرط آن true باشد.

ساختار:


while (condition) {

    // code

}

مثلاً:


$i = 1;



while ($i <= 5) {

    echo $i;



    $i++;

}

خروجی:


1

2

3

4

5


# تفاوت for و while در PHP

به‌صورت کلی:

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

مثلاً:


for ($i = 1; $i <= 100; $i++) {

    // ...

}

اما while زمانی می‌تواند مناسب باشد که ادامه عملیات بیشتر به یک وضعیت یا شرط وابسته باشد:


while ($condition) {

    // ...

}

البته این یک قانون مطلق نیست و هر دو حلقه در سناریوهای مختلف قابل استفاده هستند.


# مثال کاربردی while

فرض کنید می‌خواهیم تا زمانی که موجودی محصول بیشتر از صفر است، عملیات خاصی انجام دهیم:


$stock = 5;



while ($stock > 0) {

    echo "یک محصول پردازش شد.";



    $stock--;

}

با هر بار اجرای حلقه، موجودی یک واحد کاهش پیدا می‌کند.


# اهمیت تغییر شرط در while

یکی از اشتباهات رایج هنگام استفاده از while این است که وضعیت مورد استفاده در شرط هیچ‌گاه تغییر نکند.

مثلاً:


$i = 1;



while ($i <= 5) {

    echo $i;

}

این کد مشکل دارد؛ زیرا مقدار $i هیچ‌گاه تغییر نمی‌کند.

در نتیجه شرط همیشه برقرار باقی می‌ماند و حلقه می‌تواند به شکل نامحدود ادامه پیدا کند.

نسخه صحیح:


$i = 1;



while ($i <= 5) {

    echo $i;



    $i++;

}

بنابراین هنگام استفاده از while همیشه باید مشخص باشد که چه چیزی باعث پایان یافتن حلقه خواهد شد.


# حلقه do while در PHP

حلقه do...while شبیه while است، اما یک تفاوت مهم دارد:

کد داخل آن حداقل یک بار اجرا می‌شود.

ساختار:


do {

    // code

} while (condition);

مثلاً:


$i = 1;



do {

    echo $i;



    $i++;

} while ($i <= 5);

خروجی:


1

2

3

4

5


# تفاوت while و do while

در while ابتدا شرط بررسی می‌شود و سپس کد اجرا می‌شود.

اما در do...while ابتدا کد اجرا شده و بعد شرط بررسی می‌شود.

مثلاً:


$i = 10;



while ($i < 5) {

    echo $i;

}

هیچ خروجی نخواهیم داشت.

اما:


$i = 10;



do {

    echo $i;

} while ($i < 5);

مقدار 10 حداقل یک بار نمایش داده می‌شود.

بنابراین:


while

↓

شرط

↓

اجرا

ولی:


do...while

↓

اجرا

↓

شرط


# foreach در PHP چیست؟

foreach یکی از مهم‌ترین حلقه‌های PHP برای کار با Arrayها و داده‌های قابل پیمایش است.

مثلاً:


$colors = ["red", "green", "blue"];



foreach ($colors as $color) {

    echo $color;

}

خروجی:


red

green

blue

برای پیمایش Array، foreach معمولاً خواناتر و مناسب‌تر از استفاده دستی از Indexهاست.


# ساختار foreach در PHP

ساختار ساده:


foreach ($array as $value) {

    // code

}

مثلاً:


$users = ["Ali", "Sara", "Reza"];



foreach ($users as $user) {

    echo $user;

}

در هر بار اجرای حلقه، مقدار عنصر بعدی داخل $user قرار می‌گیرد.


# دریافت Key و Value در foreach

برای Associative Array می‌توان هم Key و هم Value را دریافت کرد:


$user = [

    "name" => "Ali",

    "age" => 25,

    "city" => "Tehran"

];



foreach ($user as $key => $value) {

    echo $key . ": " . $value;

}

خروجی:


name: Ali

age: 25

city: Tehran

این روش برای پردازش داده‌های ساختاریافته بسیار کاربردی است.


# foreach روی آرایه چندبعدی

یکی از کاربردهای مهم foreach پیمایش Arrayهای چندبعدی است.

مثلاً:


$users = [

    [

        "name" => "Ali",

        "age" => 25

    ],

    [

        "name" => "Sara",

        "age" => 30

    ]

];



foreach ($users as $user) {

    echo $user["name"];

}

در این مثال هر $user خودش یک Array است.


# foreach و شرط if

می‌توان داخل Loop از شرط‌ها استفاده کرد.

مثلاً:


$users = [

    ["name" => "Ali", "active" => true],

    ["name" => "Sara", "active" => false],

    ["name" => "Reza", "active" => true]

];



foreach ($users as $user) {



    if ($user["active"]) {

        echo $user["name"] . " فعال است.";

    }



}

این الگو در پروژه‌های واقعی بسیار رایج است.


# تغییر مقدار عناصر Array با foreach

اگر بخواهیم مقدار عناصر یک Array را مستقیماً تغییر دهیم، می‌توانیم از Reference استفاده کنیم.

مثلاً:


$numbers = [1, 2, 3];



foreach ($numbers as &$number) {

    $number *= 2;

}



unset($number);

بعد از اجرای کد، Array شامل:


[2, 4, 6]

خواهد بود.

استفاده از Reference باید با دقت انجام شود؛ به همین دلیل بعد از اتمام حلقه بهتر است Reference را با unset() آزاد کنیم.


# break در PHP چیست؟

break برای متوقف کردن اجرای Loop استفاده می‌شود.

مثلاً:


for ($i = 1; $i <= 10; $i++) {



    if ($i === 5) {

        break;

    }



    echo $i;

}

خروجی:


1

2

3

4

وقتی $i به ۵ برسد، break اجرا شده و حلقه متوقف می‌شود.


# مثال کاربردی break

فرض کنید می‌خواهیم در میان لیست کاربران، اولین کاربر Administrator را پیدا کنیم:


$users = [

    ["name" => "Ali", "role" => "user"],

    ["name" => "Sara", "role" => "admin"],

    ["name" => "Reza", "role" => "admin"]

];



foreach ($users as $user) {



    if ($user["role"] === "admin") {

        echo $user["name"];

        break;

    }



}

پس از پیدا کردن اولین Administrator، دیگر نیازی به ادامه پیمایش نداریم.


# continue در PHP چیست؟

continue باعث می‌شود اجرای فعلی حلقه متوقف شود و برنامه به Iteration بعدی برود.

مثلاً:


for ($i = 1; $i <= 5; $i++) {



    if ($i === 3) {

        continue;

    }



    echo $i;

}

خروجی:


1

2

4

5

در این مثال وقتی $i برابر ۳ است، آن Iteration نادیده گرفته می‌شود.


# تفاوت break و continue

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

break

کل Loop را متوقف می‌کند.


Loop

 ↓

break

 ↓

پایان Loop

continue

فقط Iteration فعلی را متوقف می‌کند و به مرحله بعد می‌رود.


Loop

 ↓

continue

 ↓

Iteration بعدی


# حلقه‌های تو در تو در PHP

گاهی یک Loop داخل Loop دیگری قرار می‌گیرد.

به این ساختار Nested Loop گفته می‌شود.

مثلاً:


for ($i = 1; $i <= 3; $i++) {



    for ($j = 1; $j <= 3; $j++) {

        echo $i . "-" . $j;

    }



}

در این حالت حلقه داخلی برای هر بار اجرای حلقه خارجی اجرا می‌شود.


# مثال کاربردی حلقه تو در تو

فرض کنید می‌خواهیم یک جدول ضرب ساده ایجاد کنیم:


for ($i = 1; $i <= 5; $i++) {



    for ($j = 1; $j <= 5; $j++) {



        echo ($i * $j) . " ";



    }



    echo "<br>";

}

این روش در تولید داده‌های دوبعدی و پردازش ساختارهای تو در تو کاربرد دارد.


# حلقه بی‌نهایت در PHP

اگر شرط Loop همیشه true باشد، حلقه می‌تواند بدون پایان ادامه پیدا کند.

مثلاً:


while (true) {

    echo "Running...";

}

این نوع حلقه باید با احتیاط استفاده شود.

در برخی سناریوهای خاص، حلقه‌های دائمی در Workerها و پردازش‌های پس‌زمینه استفاده می‌شوند؛ اما در یک درخواست معمولی Web، حلقه بی‌نهایت می‌تواند باعث مصرف شدید منابع یا Timeout شود.


# خروج از حلقه‌های تو در تو

در صورت نیاز می‌توان با break از چند سطح Loop خارج شد.

مثلاً:


for ($i = 1; $i <= 5; $i++) {



    for ($j = 1; $j <= 5; $j++) {



        if ($i === 3 && $j === 3) {

            break 2;

        }



        echo "$i-$j";

    }

}

در اینجا:


break 2;

باعث خروج از دو سطح Loop می‌شود.


# استفاده از foreach برای محصولات فروشگاه

یک مثال نزدیک به پروژه‌های واقعی:


$products = [

    [

        "name" => "Laptop",

        "price" => 50000000

    ],

    [

        "name" => "Mouse",

        "price" => 1000000

    ],

    [

        "name" => "Keyboard",

        "price" => 2000000

    ]

];



foreach ($products as $product) {



    echo $product["name"];

    echo " - ";

    echo $product["price"];



}

در پروژه‌های واقعی، چنین داده‌هایی ممکن است از Database یا API دریافت شوند.


# استفاده از حلقه برای محاسبه مجموع

مثلاً:


$prices = [100, 200, 300, 400];



$total = 0;



foreach ($prices as $price) {

    $total += $price;

}



echo $total;

نتیجه:


1000

این الگو پایه بسیاری از محاسبات در سیستم‌های فروش است.


# استفاده از حلقه برای پیدا کردن یک مقدار

مثلاً:


$numbers = [10, 20, 30, 40, 50];



foreach ($numbers as $number) {



    if ($number === 30) {

        echo "عدد پیدا شد.";

        break;

    }



}

وقتی مقدار موردنظر پیدا شود، با break اجرای Loop را متوقف می‌کنیم.


# چه زمانی از for استفاده کنیم؟

for انتخاب مناسبی است زمانی که:

  • تعداد تکرار مشخص است.
  • با یک Counter کار می‌کنیم.
  • می‌خواهیم از یک عدد به عدد دیگر حرکت کنیم.
  • به Index آرایه نیاز داریم.

مثلاً:


for ($i = 0; $i < 10; $i++) {

    echo $i;

}


# چه زمانی از while استفاده کنیم؟

while زمانی مناسب است که ادامه Loop بیشتر به یک شرط وابسته باشد.

مثلاً:


while ($connectionIsActive) {

    // process

}

یا:


while ($stock > 0) {

    // process

    $stock--;

}


# چه زمانی از do while استفاده کنیم؟

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

مثلاً در برخی فرآیندهای تعاملی یا زمانی که اولین اجرای عملیات مستقل از نتیجه شرط است.


# چه زمانی از foreach استفاده کنیم؟

برای پیمایش Arrayها و داده‌های قابل پیمایش، foreach معمولاً انتخاب بسیار مناسبی است.

مثلاً:


foreach ($users as $user) {

    echo $user["name"];

}

این ساختار خواناتر از مدیریت دستی Indexها در بسیاری از سناریوهاست.


# اشتباهات رایج هنگام استفاده از حلقه‌ها در PHP

1. ایجاد حلقه بی‌نهایت

مثلاً:


$i = 0;



while ($i < 10) {

    echo $i;

}

در اینجا $i هیچ‌گاه تغییر نمی‌کند.


2. شرط اشتباه در for

مثلاً:


for ($i = 0; $i > 10; $i++) {

    echo $i;

}

شرط از همان ابتدا False است و حلقه اجرا نمی‌شود.


3. استفاده بیش از حد از حلقه‌های تو در تو

Nested Loopها اگر بیش از حد استفاده شوند، می‌توانند باعث پیچیدگی و کاهش Performance شوند.


4. پردازش حجم بسیار زیاد داده در یک Loop

اگر داده بسیار زیادی داشته باشیم، اجرای همه پردازش‌ها در یک Request می‌تواند باعث مصرف بالای CPU، RAM یا رسیدن به Timeout شود.

در چنین شرایطی ممکن است نیاز به Pagination، Chunking، Queue یا پردازش Background داشته باشیم.


# عملکرد حلقه‌ها و Performance

خود Loopها ذاتاً مشکل Performance نیستند.

مشکل زمانی ایجاد می‌شود که:

  • حجم داده بسیار زیاد باشد.
  • Loopهای تو در تو داشته باشیم.
  • داخل Loop Query Database اجرا کنیم.
  • داخل Loop درخواست HTTP ارسال کنیم.
  • عملیات سنگین CPU انجام دهیم.

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


foreach ($users as $user) {



    $orders = getOrdersFromDatabase($user["id"]);



}

اگر ۱۰٬۰۰۰ کاربر داشته باشیم، ممکن است هزاران Query اجرا شود.

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


# یک نکته مهم درباره Query داخل Loop

یکی از مشکلات رایج در برنامه‌های PHP و Frameworkهایی مانند Laravel این است که برنامه‌نویس داخل یک Loop برای هر Record یک Query جداگانه اجرا می‌کند.

این مسئله می‌تواند به مشکل معروف N+1 Query منجر شود.

مثلاً:


foreach ($users as $user) {

    // query database

}

در پروژه‌های Laravel معمولاً می‌توان با استفاده صحیح از Relationshipها و Eager Loading این مشکل را کاهش داد.

بنابراین یادگیری Loop فقط به Syntax محدود نمی‌شود و باید به تأثیر آن بر Performance برنامه نیز توجه کنید.


# جمع‌بندی

حلقه‌ها در PHP یکی از مهم‌ترین ابزارهای برنامه‌نویسی هستند و برای اجرای تکراری یک بخش از کد استفاده می‌شوند.

چهار ساختار اصلی Loop در PHP عبارت‌اند از:


for

while

do...while

foreach

همچنین دو دستور بسیار مهم برای کنترل حلقه‌ها داریم:


break

continue

به‌صورت خلاصه:

  • for برای تکرارهای شمارشی بسیار مناسب است.
  • while تا زمانی که شرط برقرار باشد اجرا می‌شود.
  • do...while حداقل یک بار اجرا می‌شود.
  • foreach برای پیمایش Arrayها بسیار کاربردی است.
  • break کل حلقه را متوقف می‌کند.
  • continue Iteration فعلی را رد می‌کند.

اگر در حال یادگیری PHP هستید، بعد از یادگیری شرط‌ها و حلقه‌ها، پیشنهاد می‌شود سراغ توابع در PHP بروید. Functionها به شما کمک می‌کنند کدهای تکراری را در قالب واحدهای قابل استفاده مجدد سازمان‌دهی کنید.


# سوالات متداول درباره حلقه‌ها در PHP

حلقه در PHP چیست؟

حلقه ساختاری است که به برنامه اجازه می‌دهد یک بخش از کد را چندین بار اجرا کند.

چند نوع حلقه در PHP وجود دارد؟

چهار حلقه اصلی در PHP شامل for، while، do...while و foreach هستند.

بهترین حلقه برای Array در PHP چیست؟

در بیشتر موارد foreach برای پیمایش Array انتخاب ساده و خوانایی است.

تفاوت for و while در PHP چیست؟

for معمولاً برای حلقه‌های شمارشی و زمانی که ساختار مقداردهی، شرط و تغییر Counter مشخص است مناسب است؛ while بیشتر برای شرایطی کاربرد دارد که ادامه اجرای Loop به یک وضعیت وابسته است.

تفاوت while و do while چیست؟

در while ابتدا شرط بررسی می‌شود، اما در do...while ابتدا کد اجرا می‌شود و سپس شرط بررسی خواهد شد. بنابراین do...while حداقل یک بار اجرا می‌شود.

break در PHP چیست؟

break برای خروج از حلقه استفاده می‌شود.

continue در PHP چیست؟

continue اجرای Iteration فعلی را متوقف کرده و اجرای حلقه را از Iteration بعدی ادامه می‌دهد.

آیا حلقه بی‌نهایت در PHP خطرناک است؟

در یک Web Request معمولی، حلقه بی‌نهایت می‌تواند باعث مصرف منابع و Timeout شود و باید از آن جلوگیری کرد، مگر در سناریوهای خاصی که چرخه پردازش دائمی عمداً طراحی شده باشد.

آیا می‌توان یک حلقه را داخل حلقه دیگر قرار داد؟

بله. به این ساختار Nested Loop گفته می‌شود؛ اما استفاده بیش از حد از حلقه‌های تو در تو می‌تواند پیچیدگی و هزینه پردازشی را افزایش دهد.


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

برای ادامه یادگیری PHP، مقالات زیر را نیز مطالعه کنید:

  • PHP چیست و چه کاربردی دارد؟
  • آموزش PHP از صفر
  • ساختار Syntax در PHP
  • متغیرها در PHP
  • انواع داده در PHP
  • شرط‌ها در PHP
  • توابع در PHP
  • آرایه‌ها در PHP
  • رشته‌ها در PHP
  • کار با تاریخ و زمان در PHP
  • کار با JSON در PHP
  • کار با فایل در PHP
  • Exception در PHP
  • Namespace در PHP
  • Composer چیست؟
  • OOP در PHP

# مسیر پیشنهادی یادگیری PHP


PHP چیست؟

    ↓

آموزش PHP از صفر

    ↓

Syntax در PHP

    ↓

متغیرها در PHP

    ↓

انواع داده در PHP

    ↓

شرط‌ها در PHP

    ↓

حلقه‌ها در PHP

    ↓

توابع در PHP

    ↓

آرایه‌ها در PHP

    ↓

رشته‌ها در PHP

    ↓

تاریخ و زمان در PHP

    ↓

JSON در PHP

    ↓

کار با فایل

    ↓

Exception

    ↓

Namespace

    ↓

Composer

    ↓

OOP

نظرات (0)

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

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

مقالات مرتبط

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

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

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

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

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

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

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

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

۲۲ دقیقه