في رحلتنا للتعامل أو تعلم إطار عمل لارافيل، هناك إشكاليه تواجه البعض، هل إسم الموديل أو الكونترولر يجب أن يكون فردي أو جمع، على سبيل المثال Post أو Posts.
بداية نستطيع إستخدام أي منها بدون مشاكل، لكن هناك تسميات متعارف عليها بين المطورين يفضل دائما إتباعها.
إنشاء الموديل يجب إن يكون فردي
php artisan make:Model Post -mc
هنا عند تنفيذ هذا الأمر يتم إنشاء
Post Model = فردي
class Post extends Model{ use HasFactory; }
Migration File = جمع
public function up(){ Schema::create('posts', function (Blueprint $table) { $table->id(); $table->timestamps(); }); }
Controller = فردي
class PostController extends Controller{ // }
وفي ملف web.php لتحديد routes يفضل أن يكون الروابط بشكل جماعي.
Route::resource('/posts', 'PostController');
لكن ماذا إذا أردنا إنشاء موديل يحتوي على أكثر من كلمة (Article Posts Comment)؟ الجواب حتى نتبع النظام المعمول به في لارافيل يجب أن تكون المسميات كما يلي
class ArticlePostComment extends Model{ use HasFactory; } class ArticlePostCommentController extends Controller{ // } public function up(){ Schema::create('article_post_comments', function (Blueprint $table) { $table->id(); $table->timestamps(); }); }
كما نرى أن migration file جمع، الكلمات فردي لكن Comments جمع.
دايما بخربط بيهن
زائر
تسلم على هذه المقالة