January 07, 2015

9:15 am
In this article, we are going to discuss about How to create custom component in YII PHP framework. Yii framework having default application components and it is giving different type of services. For example 'urlManager' component, 'db' component etc. Every application component has an uniqueID and will call through expression format. We can create Application components like global or local variables.

Syntax And Core Components

Application compoent syntax

Yii::$app->componentID

sample Core Application Components

Yii::$app->db
Yii::$app->cache
Yii::$app->request
Yii::$app->session
Yii::$app->mailer
etc

Create Your Own Component In Yii

Create a folder named "components" in the project root directory. Now create one class 'MessageComponent' with extends class 'Component' inside the components folder. Using this component, we will display message.

Please see the below code to create a custom component class.

<?php
namespace app\components;
use yii\base\Component;
class MessageComponent extends Component{
public $content;
public function init(){
parent::init();
$this->content= 'Hello Yii 2.0';
}
public function display($content=null){
if($content!=null){
$this->content= $content;
}
echo Html::encode($this->content);
}
}
?>

Config Component In Yii

We have to register 'MessageComponent' by configuring the yii\base\Application::$components property inside the config/web.php file (application configurations).

'components' => [
'message' => [
       'class' => 'app\components\MessageComponent',
],
],

Now we can access this component using 'Yii::$app()->message' expression

Call Yii Custom Component Function

Using configured 'message' component, we can call the method inside the 'MessageComponent'.

<?php
Yii::$app->message->display('I am Yii2.0 Programmer');
?>

0 comments:

Post a Comment