Yii 2.0 依赖注入 [ 2.0 版本 ]
写了一个Yii2.0通用依赖注入接口实现类的结构。
还请大牛指点!
<?php
namespace backend\controllers;
/**
* Description of Test
*
*/
use yii\base\Controller;
class TestController extends Controller {
//put your code here
/**
* 依赖注入
*/
public function actionDiclass(){
$class = 'Marks';
// $class = 'Marks1'; //切换实现类
$quantity = new \common\DIClass($this->_class($class));
$name = $quantity->getName('小小虾');
$age = $quantity->getAge(25);
echo $name."--".$age;die;
}
private function _class($class){
switch ($class) {
case 'Marks':
return new \common\Marks();
break;
case 'Marks1':
return new \common\Marks1();
break;
default:
break;
}
}
}
namespace common;
/**
* 定义类实现接口的方法
*
* @author
*/
class Marks implements MarksInterface{
//put your code here
public function getName($name){
return "Yii2.0开发者333:".$name;
}
public function getAge($age){
return "今年已经222:".$age."岁了!";
}
}
<?php
namespace common;
/**
* Description of Mark1
*
*/
class Marks1 implements MarksInterface{
//put your code here
public function getName($str){
return "1111";
}
public function getAge($str){
return "2222";
}
}
<?php
/*
* 接口
*/
namespace common;
/**
*
*/
interface MarksInterface {
//put your code here
public function getName($data);
public function getAge($data);
}
输出结果:Yii2.0开发者333:小小虾--今年已经222:25岁了!
灰太狼
注册时间:2016-11-19
最后登录:2023-07-14
在线时长:76小时17分
最后登录:2023-07-14
在线时长:76小时17分
- 粉丝28
- 金钱3290
- 威望150
- 积分5550
热门源码
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 4 条评论
哎呦,还不错哦。
我到现在不知道依赖注入是啥意思,/尴尬
我到现在不知道依赖注入是啥意思,/尴尬
你真搞笑,你这样并没有解耦
牛人,求解