خانه -- آموزش برنامه نویسی -- پروژه MVC لاراول؛ صفر تا صد – بخش اول

پروژه MVC لاراول؛ صفر تا صد – بخش اول

پروژه MVC لاراول؛ صفر تا صد – بخش اول

امروز اولین پست از مجموعه پستهای تولید یک پروژه با لااول را ارائه میدهیم.

در این مجموعه پستها بخشهای مختلف یک پروژه لاراول را توضیح میدهیم. پروژه ای که در نظر گرفته ایم یک وبلاگ ساده است که در آن افراد میتوانند عضو وبلاگ شده، پست ایجاد کنند، بر روی پستها به عنوان میهمان یا عضو کامنت بگذارند، به پستها رای بدهند، آنها را در شبکه های اجتماعی به اشتراک بگذارند. همچنین مدیر وبلاگ هم میتواند پستها را مرور کرده و در حالتهای مختلفی، مانند در حال انتظار بررسی، منتشر شده، غیرقابل انتشار قرار دهد. مدیر بلاگ همچنین میتواند کاربران را فعال یا غیرفعال نماید.

 

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

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

ایجاد پروژه لاراول

در قدم اول از ساخت پروژه شروع میکنیم. برای ساخت یک پروژه لاراول بهترین روش استفاده از ابزار کاربردی Composer است. در صورتی که هنوز composer را نصب نکرده اید میتوانید از سایت آن دانلود کنید و مراحل نصب را متناسب با سیستم مورد استفاده دنبال کنید. پس از نصب میتوانید با دستور زیر یک پروژه لاراول را ایجاد نمایید.

برای آشنایی با جزییات مربوط به نصب لاراول میتوانید به مستندات نصب لاراول در مجله خبری و سرگرمی آی تی نیوز هم مراجعه کنید.
با ساختن پروژه لاراول شما امکاناتی را در اختیار دارید. مانند احراز هویت کاربران و کافی است از آن استفاده کنید.

ایجاد جدولهای پایگاه داده

برای شروع از پایگاه داده و جدولها شروع میکنیم. نحوه انجام تنظیمات پایگاه داده پروژه، ساخت جدولها با استفاده از مایگریشنها، و ایجاد مدلها در لاراول با استفاده از آرتیزان را بررسی میکنیم.

استفاده از مایگریشنها

پیش از استفاده از ابزار باید ساختار پایگاه داده را طراحی کنیم. برای وبلاگ ساختار زیر را در نظر گرفته ایم.

نمودار رابطه موجودیت پروژه وبلاگ لاراول
نمودار رابطه موجودیت پروژه وبلاگ لاراول

نمودار رابطه موجودیت پروژه وبلاگ لاراول

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

برای ایجاد مایگریشن از دستور زیر استفاده میکنیم.

اجرای این دستور فایلی در دایرکتوری database/migrations با نام مشخص شده ایجاد میکند. تصویر این فایل و محتوای آن را در ادامه میبینید. برای مطالعه بیشتر مایگریشن ها میتوانید از مستندات فارسی لاراول در آی تی نیوز استفاده کنید.

ساختار اولیه مایگریشن

ساختار مایگریشن

برای تعریف ساختار پایگاه داده در مایگریشنها از Schema Builder استفاده میکنیم. به عنوان مثال برای ساختن ساختار جدول blog_post از ساختار دستور زیر استفاده میکنیم.

استفاده از Schema Builder برای ایجاد ساختار جدولها در مایگریشن

استفاده از Schema Builder برای ایجاد ساختار جدولها در مایگریشن

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

نکته: پیش از اجرای دستور نیاز به انجام تنظیمات ارتباط با پایگاه داده دارید.

پس از اجرای مایگریشنها ساختار تعریف شده در پایگاه داده ایجاد می شود.

ایجاد مدل

از آنجا که در لاراول پروژه ها بر پایه MVC پیاده سازی میشوند برای استفاده از جدولهای پایگاه داده باید از نگاشت آنها در برنامه استفاده کرد. به این منظور در پروژه لاراول باید مدلهای متناظر با جدولهای پایگاه داده را ایجاد نمود. برای ایجاد مدلهای پایگاه داده میتوانید از فرمان آرتیزان زیر استفاده کنید.

این فرمان یک کلاس مدل با نام BlogPost در دایرکتوری app ایجاد میکند.

پیشنهاد: اگر میخواهید با افزوده شدن تعداد مدلهای پروژه پوشه app شلوغ نشود یک دایرکتوری Models یا Entities یا با هر نام دیگری بسازید و مدلهای نرم افزار را درآن قرار دهید. حال دستور را با قالب زیر اجرا کنید.

با این روش مدل BlogPost در دایرکتوری Entities ایجاد میشود.

ارتباط بین مدلها

از آنجاکه در پایگاه داده ارتباطهایی بین جدولها وجود دارد، باید امکان ایجاد این ارتباط در مدلها هم وجود داشته باشد. برای مثال بین جدول کاربران و جدول پستهای وبلاگ یک ارتباط یک به چند وجود دارد. بدین معنی که هر کاربر میتواند چندین پست ایجاد نماید.

پستهای یک کاربر

برای پیاده سازی آن در مدلهای لاراول کلاس مدل User فانکشن زیر را می افزاییم.

ارتباط بین کاربر و تعداد پستهای وبلاگ

ارتباط بین کاربر و تعداد پستهای وبلاگ

نکته: لاراول به صورت پیش فرض مایگریشن و مدل User را ایجاد میکند.

کاربر ایجاد کننده پست

اما این ارتباط یک ارتباط دوسویه است. به این معنی که گاهی نیاز است بدانیم هر پست وبلاگ متعلق به کدام کاربر است – به عبارت دیگر کاربر ایجاد کننده پست وبلاگ را واکشی کنیم. بنابراین باید رابطه را از سمت پست وبلاگ هم ایجاد کنیم. برای این کار، همانطور که احتمالا حدس زده اید، باید در کلاس مدل BlogPost فانکشن زیر را تعریف کنیم:

ارتباط بین مدل پست وبلاگ و کاربر ایجاد کننده پست

ارتباط بین مدل پست وبلاگ و کاربر ایجاد کننده پست

رابطه های ایجاد شده در نوشتن پرس و جوها، هنگام استفاده از Query Builder کمک زیادی به ساده سازی پرس و جوها میکنند.

تا اینجا نحوه انجام تنظیمات پایگاه داده، ایجاد مایگریشنها، ایجاد مدلها را آموختیم. مسلما در این پست به تمامی جنبه ها و جزییات مربوط به آماده سازی زیرساخت داده ای در لاراول نپرداخته ایم، اما چهارچوب و روال این کار بررسی شده است. در پست بعدی نحوه ایجاد کنترلرها و نحوه استفاده از مدلها و Query Builder برای ایجاد پرس و جوها را توضیح خواهیم داد. میتوانید به عنوان تمرین مایگریشن و مدل مربوط به موجودیت comment را ایجاد نمایید.

امیدواریم با مساله های زیادی در مسیر ایجاد مایگریشن و مدل comment روبرو شوید و آنها را در کامنتها با ما و بقیه دوستانی که در این پستها ما را همراهی میکنند در میان بگذارید. سعی میکنیم در سریعترین زمان ممکن با هم مسائل را بررسی کنیم.

منبع : لارابوک

درباره‌ی علیرضا حسینی

این وب سایت از مرداد ماه سال 1396 شروع به کار کرده و با تمام وجود و انرژی قصد دارم که این مجله خبری و سرگرمی را به یکی از پربازدیدترین و با کیفیت ترین وب سایت ها در ایران تبدیل کنم.از همه ی عزیزان علاقه مند که میتوانند کمک کنند تقاضای همکاری دارم. با تشکر

حتما ببینید

قهوه گرم

انواع قهوه گرم موجود در ایران

قهوه یکی از نوشیدنی هایی است که سال های زیادی است که در ایران پرطرفدار …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *