ارجاع به پست کنترلر

[rtl]تو دموی بلاگ وقتی که صفحه رو باز میکنیم منظورم صفحه اصلی هستش میره از آخرین تاپیکهای ارسال شده رو باز میکنه.

الان خود فایل سایت کنترلر به عنوان هسته اول و اصلی بلاگ شناخته میشه؟

بعد لود شدن صفحه اصلی میره فایل _view.php رو رندر می کنه که تو خود مدل پست تعریف شده

الان این مدل از کجا بهش لینک خورده میره اون صفحه رو رندر میکنه؟

سوال دیگه هم اینه که تو کد زیر this به چی اشاره میکنه؟ کلاس؟ و model$ ایا از طریق مدل مربوط به پست یا بقیه مقدار دهی قبلی شده؟

[/rtl]


$this->pageTitle=$model->title;

[font="Tahoma"] [rtl]به نظر من خیلی خودتو درگیر روند اجرای پروژه توسط فریم ورک نکن، چون کار پیچیده ای انجام میشه. اصلاً اینکه گفتی siteController هسته است، اینطوری نیست. اول اینو لود میکنه بعد میره سراغ view بازم اشتباس! یعنی کلاً فراموشش کن!!!

همونطور که گفتم ترتیب اجرای دستورات سیر پیچیده و خاصی داره که اگر خیلی دوست داری اون رو بفهمی و دنبال کنی میتونی افزونه های مختلفی که تحت نام stack trace هستند رو جستجو و نصب کنی.

البته خود فریم ورک هم سیستم trace داخلی داره ولی خب اکستنشن ها امکانات بیشتری در اختیارت قرار میدن. مثلاً این جالبه:

http://www.yiiframew…i-debug-toolbar

ولی اگر خواستی 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 در اینجا همون عنوان "پست" است.

ممنون

[/rtl] [/font]

[rtl]

سلام. راسنش درگیر نکردم ولی نمیفهمم منظور از بعضی متدها چیه بخوام استفاده کنم میمونم. شما درست میفرمایید گیج میکنه آدمو ولی بعضی از مواردش مفاهیمی هستش تو کد نویسی باهاش درگیر میشم مثل همین مشکل.

مثلا فرض کنید من یه صفحه دارم به اسم ShowNews همین کار view رو مثل انجام میده حالا میخوام وقتی صفحه اول و اصلی باز میشه فایلی که من نوشتم تاپیکها رو نشون بده رو نمایش بده. چیکار باید بکنم؟

این کدی هستی که داخل کنترلر پست نوشته شده:

[/rtl]


	public function actionView()

	{

		$post=$this->loadModel();

		$comment=$this->newComment($post);


		$this->render('view',array(

			'model'=>$post,

			'comment'=>$comment,

		));

	}

[rtl]

همین مورد چطوری از پست کنترلر معرفی شده؟

[/rtl]

[rtl]

برای اینکه بتونی متوجه بشی که برخی متدها یا پراپرتی ها چکار می کنند یکی از این داک های API را کنار دستت داشته باش، توی اونو نگاه کنی بهت خیلی کمک می کنه.

این هم لینکش:داک مربوط به فریمورک ۱.۱.۱۳

[/rtl]