PhpCoder PhpCoder - 3 months ago 6
PHP Question

how to access controller.php files attributes?

This is the Controller.php file of my yii project,
I have added one more attribute called $name1 in that.

<?php
/**
* Controller is the customized base controller class.
* All controller classes for this application should extend from this base class.
*/
class Controller extends CController
{
/**
* @var string the default layout for the controller view. Defaults to '//layouts/column1',
* meaning using a single column layout. See 'protected/views/layouts/column1.php'.
*/
public $layout='//layouts/column1';
/**
* @var array context menu items. This property will be assigned to {@link CMenu::items}.
*/
public $menu=array();
public $name1 = array('test','test1','test3');

/**
* @var array the breadcrumbs of the current page. The value of this property will
* be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
* for more details on how to specify this property.
*/
public $breadcrumbs=array();
}


So how can I access this attribute $name1, model, view and controller(if possible)...

Answer

You can access it in your views as:

 $this->name1; //$this refers to the controller in the view, name1 is array as you declared.

You can access it in your model like:

 Yii::app()->controller->name1;

In your controllers it should be the same as in your views like:

$this->name1;