سلام وقتی کاربر وارد صفحه ی هسته (index) میشه طبق(آدرس سایت) controller مربوط بر هر صفحه اینکلود میشه .
خب من برای هر صفحه یک controller و فقط یک view در نظر گرفتم
و صفحه ی خانه یک controller داره و از چند model استفاده میکنه آیا این روش درست است ؟بنظرتون من حساسیت زیادی روش خرج بدم یا نه؟
هر کدوم از متدها یه view رو برمیگردونه. و هر تعداد Model که لازم داشتید، داخل کنترلر use میکنید و استفاده میکنید
روش های زیادی برای پیاده سازی این گونه موارد هست.. اما یه روش عامیانه میتونه به شکل زیر باشه
خب این روشی که من گفتم میتونه درست باشه؟@ali.bayat
میشه درمورد روش خودتون یکمی توضیح بدین؟واگر تصویر در مورد این ساختار بدین خیلی خوب میشه
@paressep28
درود
جدا از بحث درستی، یه سری کانوِنشن (روشهای معمول بین برنامه نویسا) هست که سعی میشه رعایت بشه.
در روش شما، سناریویی رو فرض کنید که شما ۱۰ تا صفحه دارید و برای هر کدوم یه کنترلر ساختید که تنها متد در هر کدوم تنها یک load یا view هست. در این حالت بهتره شما ۱۰ تا متد داخل یه کلاس (کنترلر) داشته باشید تا ۱۰ تا کنترلر .
اما مواردی هم وجود دارند که شما عملا احتیاج دارید کنترلرهاتون مجزا بشند. فرض کنید یه کنترلر به نام PostController دارید و میخواهید قابلیت لایک شدن رو به هر پست اضافه کنید. در این سناریو چند گزینه دارید:
هر ۳ روشی که گفته شد، درست هستند.. و بر اساس نیازها، حجم و شرایط پروژه، در جاهای خاص کاربرد خودشون رو دارند.
همیشه سعی کنید از روشهای ساده اما منطقی برای پیادهسازی الگوریتمها استفاده کنید. موفق باشید
خیلی ممنونم از شما @ali.bayat واگه ۱۰ متد داشه باشیم چطوری میشه سوئیچ کرد بین view و model ها شاید یک صفحه به چندmodel نیاز داشته باشه؟و model ها از هم جدا باشه
هر کدوم از متدها یه view رو برمیگردونه. و هر تعداد Model که لازم داشتید، داخل کنترلر use میکنید و استفاده میکنید
@ali.bayat
خیلی سپاسگذارم در کل جوابگو گرفتم آیا منظور شما این بود؟
وثتی در pagecontroller متد مورد نیاز ما صدا زده میشه اینجوریه؟
function index(){
include_once 'view.php';
//----------------------------
include_once 'model_1';
include_once 'model_2';
}
@ali.bayat
خیلی سپاسگذارم در کل جوابگو گرفتم آیا منظور شما این بود؟
وثتی در pagecontroller متد مورد نیاز ما صدا زده میشه اینجوریه؟
function index(){
include_once 'view.php';
//----------------------------
include_once 'model_1';
include_once 'model_2';
}
در واقع به شکل زیره:
<?php
namespace App\Http\Controllers;
use App\Model1;
use App\Model2;
use App\Model3;
....
class PagesController extends Controller
{
public function about() {
return view("pages/about");
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟