سلام
خب بریم سراغ ادامه ی مطالب
همینطور که میبینید وقتی وارد پروژه میشیم این صفحه رو به ما نمایش میده
حالا ببینیم دلیلش چیه
وقتی وارد فایل Route توی مسیر زیر میشیم
App + Config +Route
میبینیم که همچین کدی توش نوشته شده
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->get('/', 'Home::index');
یعنی بطور پیش فرض برو توی کنترولر Home و متد index
توی این متد نوشته view به اسم welcome_message رو نمایش بده که view این صفحه دقیقا چیزی هست که توی صفحه ی اول دیدیم ?
اگه خواستیم میتونیم اسم controller و method مورد نظر خودمون رو جایگزین کنیم که بعد از اجرا اول بره اونجا.
خب حالا ببینیم Controller چیه: Controller یک فایل php ساده هست که کدامون رو مینویسیم و رابط بین model و View هست. بطور خلاصه controller در واقع view , model رو براساس request که ارسال میشود به هم وصل میکند.فایل های کنترولر توی پوشه ی controller توی قسمت app قرار میگیره و قانون نامگذاریش به این صورت که حرف اول باید uppercase باشه و همچنین بصورت plural است. مثلا Users.
هم uppercase هست و هم plural.
خب حالا model چیه: model در واقع ارتباط مستقیم با database داره و برای کار روی داده ها مثل insert و delete و Update و read ازش استفاده میشه.( میشه برای validation هم استفاده بشه). model ها توی پوشه ی model قرار میگیرند و حرف اول باید uppercase باشه و مفرد است مثلا user.
و صفحه ی view: صفحه ای که ما به کاربر نشون میدیم و کابر از طریق اون درخواستی که میخواد رو میده و اطلاعات میگیره. توی پوشه ی viewقرار میگیرد.
پس method چیه?: متدها همون function ها هستن ولی داخل class نوشته میشن.
حالا بیاید یکم با عملکرد URL آشنا بشیم؟
بعد از baseURL که برای وبسایت تعیین کردیم اول کلمه ی public میاد بعد index.php بعد اسم controller و بعد اسم method و آرگومان های بعدی ورودی های method هستند که جلوتر باش کار میکنیم و یادش میگیریم. عکس زیر یک نمونه url هست.
میره توی Controller به اسم users و متد hello رو اجرا میکنه.
اما این که توی آدرسمون بنویسیم public/ index.php چیز قشنگی نیست
حالا چکارش کنیم
خب میتونیم خیلی راحت از دستش راحت شیم
چجوری ? اینجوری ??
اول: توی پوشه ی App + Config +app میریم و BaseUrl رو به url مدنظر خودمون عوض میکنیم.
مثلا روی سیستم من
http://localhost:3000/Apps/virgool/
رو توی baseUrl باید بنویسم.
دوم: توی همون فایل یکم پایین تر
public $uriProtocol = 'REQUEST_URI';
به
public $uriProtocol = 'PATH_INFO';
تغییر میدیم.
سوم: فایل index.php , .htaccess موجود توی پوشه ی public رو کپی میکنیم و توی root پروژه میذاریم.
و در آخر همین فایل index.php رو باز میکنیم و
$pathsConfig = FCPATH . '../app/Config/Paths.php';
رو به
$pathsConfig = FCPATH . 'app/Config/Paths.php';
تغییر میدیم
و تمام ?