iluhansk/yii2-renderer

Provides visualization functionality (rendering templates) to any component of yii2 application

Installs: 4

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:yii2-extension

v1.0.0 2017-03-26 13:28 UTC

This package is not auto-updated.

Last update: 2024-04-27 18:14:56 UTC


README

Provides visualization functionality (rendering views) to any component of yii2 application

  • simple sintax
  • view is searched by classes inheritance

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist iluhansk/yii2-renderer "*"

or add

"iluhansk/yii2-renderer": "*"

to the require section of your composer.json file.

Usage

Add RenderBehavior to target class:

namespace common\components;

use \yii\base\Component;
use iluhansk\renderer\RenderBehavior;

class Car extends Component {

    public function behaviors() {
        return [
            'renderer' => [
                'class' => RenderBehavior::className(),
                'baseClass' => __CLASS__,
                'baseViewDir' => '@frontend/views/car',
                'defaultView' => 'model',
                'viewNotFound' => '-',
            ]
        ];
    }

}

And use rendering in an place:

use common\components\Car;

$car = new Car();
echo $car->render(); //render default view (in this example it is "model")
echo $car->render('options',['data'=>'passed','to'=>'view']); //render view "options"

Inside view you can access to object by var $context

Example of view search process:

continue of example above:

class Sedan extends Car {
...
}
class Econom extends Sedan {
...
}

$car = new Econom();
echo $car->render('options'); 
//First, a view "options" will be search at @frontend/views/car/sedan/econom directory
//If it is not found, then it will be search at @frontend/views/car/sedan directory
//If it is not found, then it will be search at @frontend/views/car (it from behavior field baseViewDir) 
//If it is not found, then it will return viewNotFound text (in this example it is '-')