[font="Tahoma"] [rtl]به نظر من خیلی خودتو درگیر روند اجرای پروژه توسط فریم ورک نکن، چون کار پیچیده ای انجام میشه. اصلاً اینکه گفتی siteController هسته است، اینطوری نیست. اول اینو لود میکنه بعد میره سراغ view بازم اشتباس! یعنی کلاً فراموشش کن!!!
همونطور که گفتم ترتیب اجرای دستورات سیر پیچیده و خاصی داره که اگر خیلی دوست داری اون رو بفهمی و دنبال کنی میتونی افزونه های مختلفی که تحت نام stack trace هستند رو جستجو و نصب کنی.
البته خود فریم ورک هم سیستم trace داخلی داره ولی خب اکستنشن ها امکانات بیشتری در اختیارت قرار میدن. مثلاً این جالبه:
ولی اگر خواستی stack trace اصلی فریم ورک رو فعال کنی، کافیه از وجود این دستورات در فایل اصلی index.php مطمئن بشی:
[/rtl]
// remove the following line when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
// specify how many levels of call stack should be shown in each log message
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
[rtl]
درمورد سوال دومت، $this به کلاس جاری اشاره داره.
$model هم بستگی به این داره از چه مدلی ساخته شده باشه.
اما به طور خاص مثلاً درمورد همین دستور که در views/post/view.php بکار رفته. میشه گفت، pageTitle مقداری هست که در سطح خیلی پایین فریم ورک و در فایل Controller.php به صورت یک attribiute وجود داره و از اون برای title صفحه در layout استفاده میشه؛ و اگر به کنترلر همین view مراجعه کنی میبینی $model هم داره از مدل Post ساخته میشه پس title در اینجا همون عنوان "پست" است.
سلام. راسنش درگیر نکردم ولی نمیفهمم منظور از بعضی متدها چیه بخوام استفاده کنم میمونم. شما درست میفرمایید گیج میکنه آدمو ولی بعضی از مواردش مفاهیمی هستش تو کد نویسی باهاش درگیر میشم مثل همین مشکل.
مثلا فرض کنید من یه صفحه دارم به اسم ShowNews همین کار view رو مثل انجام میده حالا میخوام وقتی صفحه اول و اصلی باز میشه فایلی که من نوشتم تاپیکها رو نشون بده رو نمایش بده. چیکار باید بکنم؟
این کدی هستی که داخل کنترلر پست نوشته شده:
[/rtl]
public function actionView()
{
$post=$this->loadModel();
$comment=$this->newComment($post);
$this->render('view',array(
'model'=>$post,
'comment'=>$comment,
));
}
برای اینکه بتونی متوجه بشی که برخی متدها یا پراپرتی ها چکار می کنند یکی از این داک های API را کنار دستت داشته باش، توی اونو نگاه کنی بهت خیلی کمک می کنه.