PDA

View Full Version : تعریف کنترلر پدر برای کارهای تکراری



numberone1
شنبه 08 مهر 1396, 17:56 عصر
سلام دوستان
میخواستم کنترلر پدر تعریف کنم که تمام کنترلر ها ازش extend بشه
هرچی جستجو کردم فقط متد beforeAction گفته بودن
میخواستم ببینم راهی هست که بشه کنترلر پدر تعریف کرد و داخلش کارهای تکراری مثل لاگین و چک کردن مجوز دسترسی ها رو اونجا انجام داد؟
و اینکه مثلا منو های تکراری که توی همه صفحه ها هست مثل هدر و فوتر صفحه و ممکنه بعضی قسمت هاش از دیتابیس خونده بشه هم از همون کنترلر فراخوانی بشه

charcharkh
دوشنبه 10 مهر 1396, 13:15 عصر
سلام این روشی که میگم برای advnced هست
ابتدا توی common بعد برو توی components یک کنترلر بزن بانام فایل MyController.php توشم اینو بزن




<?php
namespace common\components;
class MyController extends \yii\web\Controller{
public function init() { parent::init(); }
}

البته برای extend شدن از هر والدی میتونی هرچی دلت خواست بزنی هم میتونی از کنترلر extend بزنی و هم از مدلها فقط بایست نام فایل رو هم مطابق همون بزنی و ادامه کار ...

یا حتی این


<?phpnamespace common\components;
class MyModel extends \yii\base\Model{ }

numberone1
چهارشنبه 12 مهر 1396, 16:26 عصر
مرسی از جوابت
من تو فولدر common , پوشه component که شما میگی ندارم. فریم ورک advance و با کامپوزر دانلود کردم ولی همچین فولدری وجود نداره!!
دستی باید بسازم؟

charcharkh
چهارشنبه 12 مهر 1396, 17:33 عصر
بله بایست خودتون دستی بسازید راستی اگر توی لینوکس هم هستی یه -ls -la هم بگیر تا chmod و chown رو هم درست ست کنی یه موقع مشکل پیش نیاد هم برای فولدر هم برای فایل جدید .

در ضمن نام فولدر هم
components هست به s آخرش توجه نمایید. مهم است