تالار گفتمان nCIS.ir

نسخه‌ی کامل: دسترسی به متغیرهای کنترلر
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
در yii2 به چه صورتی می شه به متغییرهای تعریف شده در کنترلرها از لایه view شون دسترسی داشت
اگه برای ویو بصورت پارامتر فرستاده باشین که مثل متغیر عادی کار میکنید ولی اگه توی کنترلر با <-this$ بصورت فیلد تعریف کرده باشین، توی ویو هم به همین شکل باید بخونید.
متاسفانه هرکاری می کنم نمیشه
controller
<?php

namespace app\controllers;

class HelloController extends \yii\web\Controller
{
   public $test;
   public function actionIndex()
   {
       $this->test="is test";
       return $this->render('index');
   }

}

view
<?php
/* @var $this yii\web\View */
?>
<h1>hello/index</h1>

<p>
   You may change the content of this page by modifying
   the file <code><?= __FILE__; ?></code>.
</p>

<?php
   echo $this->test;
?>
توی 1.1 کار میکرد. احتمالاً توی 2 معماری اونرو عوض کردن. البته منطقی هم هست بنظرم چون این ساختار برای دسترسی به فیلدهای کلاس توی Layout طراحی شده بود و باید دقت کنیم که Layout یه چیزی هست که کاربردش در سطح برنامه گسترده شده و وابستگی به مقادیر یه کنترلر خاص داخلش منطقی نیست. حالا برای ویو هم توی 2 معماری کار رو عوض کردن. این لینک رو بخونید:
http://stackoverflow.com/questions/28038...ut-in-yii2

همینطور این لینک: http://www.yiiframework.com/doc-2.0/guid...mong-views