Installing
Install composer in a common location or in your project:, (*1)
curl -s http://getcomposer.org/installer | php
Create the composer.json file as follows:, (*2)
{
"require": {
"phalcon-ext/widgets": "dev-master"
}
}
Run the composer installer:, (*3)
php composer.phar install
Add in your the code, (*4)
require_once('vendor/autoload.php');
Using
class SomeWidget extends Phalcon\Ext\Widgets\WidgetBase
{
public function init()
{
// optional some method
}
public function render($params = null)
{
return $params['a'] + $params['b'] * ($params['c'] ?: 1);
}
}
// Register widgets manager in DI
$di->setShared('widgets', function() use ($di) {
$widgets = new Phalcon\Ext\Widgets\Manager();
// Register some widget (the syntax is similar in DI)
$widgets->set('some', function($options) {
$widget = SomeWidget($options);
$widget->init();
return $widget;
});
return $widgets;
});
/**
* Somewhere in view
*/
$options = []; // Optional parameter, It will be passed to the constructor of the widget before creating
echo $this->getDI()->get('widgets')->render('some', ['a' => 5, 'b' => 5, 'c' => 2], $options); // 15