بودن یا نبودن پوشه Models در لاراول

۱۶ اردیبهشت ۱۳۹۷

سئوالی که در انجمنها و کانالهای مختلف برنامه نویسی در شبکه های اجتماعی درباره پروژه های فریمورک لاراول پرسیده می شود، این است که ما به فولدر app/Models احتیاج داریم یا نه؟

اگر به خاطر داشته باشید در لاراول 4 ما یک ساختار واضح و مشخص داشتیم:

app:

  • controllers
  • models
  • views

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

انقلاب در لاراول 5

در لاراول 5.0 دیگر اثری از پوشه مدل نبود و تغییرات دیگری مانند فولدرها app/Http و resources/views را شاهد بودیم و از این به بعد مدلها در پوشه app مانند app/User قرار می گرفتند.

و در انجمن های مختلف این سئوال را داشتیم چرا دایرکتوری model در لاراول 5 وجود ندارد.

طراحی سایت با لاراول

دلیل اصلی این کار پشتیبانی از معماری نرم افزارهای بزرگ است. شما فرض کنید همه چیز در مسیر app/Http بود(مسیرها، منابع و ...). و فرض کنید بیشتر از 20 مدل در پروژه داشته باشیم، این معماری برای پروژه های بزرگ کارایی نداشت.

چگونه پوشه مدل را داشته باشیم؟

البته خیلی از افراد از تیلور حمایت کردند و راه کاری برای ساختن app/Models دادند. شما فولدر app/Models خود را ایجاد می کنید و از namespace زیر استفاده می کنید:


namespace App\Models;

همچنین شما می توانید مدل هایی را با دستورات artisan به این ترتیب تولید کنید:


php artisan make:model Models/Book

و نتیجه در فولدر app/Models/Book.php:


namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Book extends Model
{
    //
}

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(493)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}