作业A
1、模型表(数据库)
2、视图表
3、服务容器
4、控制器(方便调用)
5、浏览器输出结果
作业B
1、模型表(数据库)
2、视图表
3、控制器
4、服务容器(跟作业A共用一个服务容器)
5、输出效果
总结:
1、mvc控制器类似现实中的调度中心,用户发需求给(url)给调度中心,控制器再根据需求以html形式返回给客户。需要数据则从数据库调用,不需要则直接返回html。
2、视图就是html页面,模型==数据库,貌似不是模型===数据库。
3、依赖注入:减少模型表、视图表与控制器的硬连接,避免牵一发动全身。消灭控制器的new,用传值的方法对控制器进行修改。
3.1、给构造方法传值需要再new控制器时传入,默认传给构造方法。例如:$controller = new controller($cantainer);
3.2 给普通方法传值需要创建类实例对象然后再给对应的方法传值。例如:echo $controller ->index($cantainer);
4、类实例服务容器:就是一个类实例化中心,需要类实例则可以直接调用。并且减少各个类之间的硬连接。让类更加灵活。
????疑问:
1、有类服务容器,是否也可以有其他类共性的服务容器,
2、是不是有类共性或其他共性的都可以创建共享的服务容器。
!!!static 静态化封装还没整明白所以没有整。学的太多了,一下子记不住,作业部分细节参考了录播和课件,至少80%自己独立完成。思想基本上能明白,细节还需要时间。