YII框架实现自定义第三方扩展操作示例
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-20 11:20:24 浏览: 评论:0
这篇文章主要介绍了YII框架实现自定义第三方扩展操作,结合实例形式分析了Yii框架自定义第三方扩展操作的步骤与相关实现技巧,需要的朋友可以参考下。
本文实例讲述了YII框架实现自定义第三方扩展操作,分享给大家供大家参考,具体如下:
cat.php
- <?php
- /**
- * Created by PhpStorm.
- * Date: 2016/5/25
- * Time: 15:23
- */
- namespace vendor\animal;
- use \yii\base\Component;//组件
- use \yii\base\Event;//
- class myEvent extends Event{
- public $message;
- }
- class Cat extends Component{
- public function shout(){
- echo "miao miao miao<br>";
- //$this->trigger('miao');//事件命名
- $me = new myEvent();
- $me->message = "hello my Event<br>";
- $this->trigger('miao',$me);
- }
- }
Dog.php
- <?php
- /**
- * Created by PhpStorm.
- * Date: 2016/5/25
- * Time: 17:00
- */
- namespace vendor\animal;
- use frontend\behaviors\behavior1;
- use yii\base\Component;//让一个类拥有接收行为的能力
- class Dog extends Component{
- public function behaviors(){
- return [
- Behavior1::className(),
- ];
- }
- public function look()
- {
- echo "I am looking!<br>";
- }
- }
Mouse.php
- <?php
- /**
- * Created by PhpStorm.
- * Date: 2016/5/25
- * Time: 15:23
- */
- namespace vendor\animal;
- class Mouse{
- public function run($e)
- {
- echo $e->message;
- echo "I am running!<br>";
- }
- }
controllers/AnimalController.php 调用第三方类库
- <?php
- /**
- * Created by PhpStorm.
- * Date: 2016/5/25
- * Time: 15:27
- */
- //YII事件绑定
- namespace frontend\controllers;
- use yii;
- use yii\web\Controller;
- use vendor\animal\Cat;
- use vendor\animal\Mouse;
- use vendor\animal\Dog;
- use \yii\base\Event;//类级别的事件绑定必须
- use frontend\behaviors\Behavior1;//对象的混合
- class AnimalController extends Controller{
- public function actionIndex(){
- $cat = new Cat();
- $mouse = new Mouse();
- $dog = new Dog();
- //对象级别的事件绑定
- $cat->on('miao',[$mouse,'run']);
- $cat->on('miao',[$dog,'look']);
- //
- // $cat->off('miao',[$dog,'look']);//取消关注
- //类级别的事件绑定
- // Event::on(Cat::className(),'miao',[$mouse,'run']);//所有的老鼠都会监听这个miao事件
- // Event::on(Cat::className(),'miao',function(){
- // echo "miao event has triggerd!<br>";
- // });
- $cat->shout();
- //\Yii::$app是YII实现的单例模式
- // Yii::$app->on(\yii\base\Application::EVENT_AFTER_REQUEST,function(){
- // echo "event after request";
- // });
- }
- public function actionBehavior()//类的混合
- {
- /*板块1
- * $dog = new Dog();
- $dog->look();
- $dog->eat();*/
- $dog=new Dog();
- $dog->trigger("wang");
- }
- public function actionObject()//对象的混合
- {
- $dog = new Dog();
- $behavior1 = new Behavior1();
- $dog->attachBehavior('beh1',$behavior1);//取个别名,防止冲突
- //$dog->detachBehavior('beh1');//移除对象
- $dog->eat();
- }
- }
Tags: YII 第三方扩展
相关文章
- ·Yii中单独为module加载Bootstrap或其他组件的4种方法(2014-01-07)
- ·yii2超好用的日期组件和时间组件(2019-07-30)
- ·详解PHP的Yii框架中扩展的安装与使用(2019-10-20)
- ·PHP的Yii框架中过滤器相关的使用总结(2019-10-31)
- ·简介PHP的Yii框架中缓存的一些高级用法(2019-10-31)
- ·深入解析PHP的Yii框架中的缓存功能(2019-11-05)
- ·PHP的Yii框架中创建视图和渲染视图的方法详解(2019-11-05)
- ·PHP的Yii框架中Model模型的学习教程(2019-11-05)
- ·详解PHP的Yii框架中的Controller控制器(2019-11-05)
- ·yii2的ActiveForm表单使用的方法介绍(2020-02-15)
- ·Yii2框架的csrf验证原理分析及token缓存解决方案(2020-04-05)
- ·Yii操作数据库的3种方法(2020-10-26)
- ·yii上传文件或图片实例(2020-11-05)
- ·yii框架表单模型使用及以数组形式提交表单数据示例(2020-11-25)
- ·yii框架通过控制台命令创建定时任务示例(2020-11-25)
- ·yii框架配置默认controller和action示例(2020-11-25)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)