php mvc多层依赖注入,演示依赖注入,MVC,路由案例 2019年10月12日 08:00
今晚学习了依赖注入,MVC,路由知识,课堂上听的时候感觉没有问题,实际操作的时候还是遇到了很多问题,写起比较生,没法融会贯通。总体来说还是非常不错的。现将各个功能实例如下:
1、依赖注入
实例
//依赖注入演示
//定义第一个类
namespace _20191012;
class studentInfo{
public function xinXi(){
return "我是php中文网的学员--赵桂福";
}
}
//定义第二个类
class xueXi{
public function setInfo($xinxi){
return $xinxi->xinXi();
}
}
$zgf = new studentInfo();//实例化studentInfo
$xs = new xueXi();//实例化xueXi
echo $xs->setInfo($zgf);//将对象$zgf依赖注入
?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结:老师您好,我这样的理解依赖注入对吗?
2、MVC
实例
//实现mvc
//定义三个类 1、model 2/ view 3/controller
namespace _2019101202;
class Model{//定义model类
public function getData(){
$arys=['欧阳老师','朱老师','猪老师','赵桂福'];
return $arys;
}
}
class View{//定义model类
public function setData($xinxi){
$div='
foreach($xinxi as $v){
$div.='
'.$v.'
';
}
$div.='
return $div;
}
}
//定义控制器
class Controller{
public function fetch(Model $model, View $view){
//获取数据
$shuju =$model->getData();
return $view->setData($shuju);
}
}
$model =new Model();
//var_dump($model->getData());
$view = new View();
//var_dump($view);
$res = new Controller();
echo $res->fetch($model,$view);
?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结:这样书写简单的多练习了几遍后,感觉还可以,如果复杂的话,感觉还是不顺手,老师是写的少了吗?
3、路由原理的实例及理解
实例
//路由原理
$url = '/rout.php/admin/user/add/name/guifu/age/36/salary/8899';//$_SERVER['REQUEST_URI'];,里面用的是案例url
//echo $url;
//echo "
";
$req = explode('/',$url);//从url路径中解析出独立的单元
//echo '
';
//print_r($req);
//路由的目标是将url中的控制器,方法映射到函数上
$route = array_slice($req,2,3);//从一个数组中取出一部分数据
//echo "
";
//print_r($route);
//数组的值保存在变量中
list($module,$controller,$action)=$route;
//echo $module,$controller,$action;
///从url中拿参数
//http://localhost/rout.php/admin/user/add/
///name/guifu/age/36/salary/8899
$values =array_slice($req,5,6);
// print_r( $values);
//将拿到的数据,用循环构造成键值对key=>values
for($i=0;$i
$params[$values[$i]] = $values[$i+1];//获取值
}
// print_r($params);
//创建一个控制器
class user{
public function add($name,$age,$salary){
return __METHOD__.':'.' 姓名:'.$name.' 年龄: '.$age.' 工资:'.$salary;
}
}
路由的目标就是:将url中的操作映射到控制器的方法上
echo call_user_func_array([(new user()),'add'],$params);
?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
【总结】大体的理解还是可以的,不过,还是没有透彻的理解。
php mvc多层依赖注入,演示依赖注入,MVC,路由案例 2019年10月12日 08:00相关推荐
- php 中curd表达啥,CURD语句的基本语法和PDO中操作数据表的基本步骤实例演示增删改查命令 2019年07月24日 23时10分...
一.常用的CUR 最常用的就是: `CURD` 增删改查 它代表创建(Create).更新(Update).读取(Read)和删除(Delete)操作. 新增操作语法 * SQL规范: `INSE ...
- ASP.NET MVC 第一章 我们的第一个MVC例子
好久.好久没有讲博客了,之前都忘记有这个技术博客了,只是顾自己去Google和baidu里面去找资料.后来发现有些东西还是讲下来自己会更加清楚明白.以后每周都会逼迫自己写写技术文章.废话到此为止 -- ...
- [ASP.NET MVC 小牛之路]04 - 依赖注入(DI)和Ninject
特别提醒:本文编写时间是 2013 年,请根据目前 .NET 发展接收你所需的知识点. 为什么需要依赖注入 在[ASP.NET MVC 小牛之路]系列的理解MVC模式文章中,我们提到MVC的一个重要特 ...
- java-12:spring MVC - 控制反转IOC,依赖注入DI
学习spring框架之前,先理解几个概念: 1.第一部分:依赖倒置原则 2.第二部分:控制反转,控制反转容器(实例) 3.第三部分:控制反转,控制反转容器(全面理解,面试题) 综合性理解:控制反转(I ...
- [ASP.NET Core 3框架揭秘] 依赖注入:依赖注入模式
IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架之中以实现对流程的复用,并按照"好莱坞法则"实现应用程序的代码与框架之间的交互.我们可以采用若干设计模式 ...
- Spring官网阅读(二)(依赖注入及方法注入)
上篇文章我们学习了官网中的1.2,1.3两小节,主要是涉及了容器,以及Spring实例化对象的一些知识.这篇文章我们继续学习Spring官网,主要是针对1.4小节,主要涉及到Spring的依赖注入.虽 ...
- 【源码分析】Spring的循环依赖(setter注入、构造器注入、多例、AOP)
写在前面 首先最简单的循环依赖demo就是:A->B 且 B->A.本文围绕这个例子去讲解setter注入的循环依赖.构造器注入循环依赖.多例的循环依赖.带AOP的循环依赖.以下是一些结论 ...
- 依赖注入?依赖注入是如何实现解耦的?
如何用最简单的方式解释依赖注入?依赖注入是如何实现解耦的? 第一章:小明和他的手机 从前有个人叫小明 小明有三大爱好,抽烟,喝酒-- 咳咳,不好意思,走错片场了.应该是逛知乎.玩王者农药和抢微信红包 ...
- 框架依赖注入和普通依赖注入_依赖注入快速入门:它是什么,以及何时使用它...
框架依赖注入和普通依赖注入 by Bhavya Karia 通过Bhavya Karia 介绍 (Introduction) In software engineering, dependency i ...
最新文章
- 2021年Java面试题目最新总结【90%面试会踩的坑】
- 百度 和 AI教父Hinton 的故事
- poj 2728(最小比率生成树)
- mysql集群会备份数据吗_mysql ndb集群备份数据库和还原数据库的方法
- wxWidgets:wxWidgets 示例演示网络相关功能
- tab标签的另一种写法
- 不知道Mysql排序的特性,加班到12点,认了认了!
- jQuery事件对象event的属性和方法
- 利用BI进行报表分析(二)--SSAS多维数据集以及维度的建立
- axios 文档中文翻译
- linux 去掉csv文件第一行,使用PowerShell删除文本文件的第一行
- 服务器网赚项目,草根站长的一个网赚项目的分析和总结
- 安装广告拦截插件abp
- ISO9660文件系统分析
- 如何生成CGCS2000坐标系等高线
- 怎么在服务器上接无线路由器,交换机怎么用 交换机接无线路由器设置教程【详解】...
- 利用计算机发布调度命令时必须严格遵守,调度命令
- html - <thead>标签
- 用安卓手机给电脑当摄像头[DroidCam]
- php 统计文章字符,PHP统计文章内容字符数
热门文章
- 多人游戏对战技术(坦克大战、状态同步)
- 实现给el-table表头加必填符号星号(红*)
- 2023西南交通大学计算机考研信息汇总
- apache ii评分和死亡率_APACHE-II、Balthazar CT评分对重症急性胰腺炎患者的严重度及预后评价探讨...
- 华中科技大学c语言报告,华中科技大学c语言实验报告
- 下一个5年,营销还能玩出什么新花样?|大咖直播
- 微信小程序设置swiper圆角在ios上失效解决
- UVa 111 - History Grading
- android pad 清除缓存,ipad清理缓存经验介绍
- 100元起,罗永浩签名锤子手机开卖