ThinkPhp知识⼤全(⾮常详细)php框架
⼀、真实项⽬开发步骤:
1. 多⼈同时开发项⽬,协作开发项⽬、分⼯合理、效率有提⾼(代码风格不⼀样、分⼯不好)
2. 测试阶段
3. 上线运⾏
4. 对项⽬进⾏维护、修改、升级(单个⼈维护项⽬,⼗分困难,代码风格不⼀样)
5. 项⽬稳定的运⾏阶段
6. 项⽬停⽌运⾏(旧项⽬的⼈员已经全部离职,新⼈开发新项⽬)
⼆、问题:
1. 多⼈开发项⽬,分⼯不合理,(html  php  mysql)
2. 代码风格不⼀样,后期维护⼗分困难
3. 项⽬⽣命周期⼗分短,项⽬⽣命没有延续性,造成资源浪费、⼈员浪费
4. 项⽬不能很好适应客户需求,牵⼀发⽽动全⾝。
三、其他相关框架
1. zendframework  zend php语⾔公司发布的官⽅框架,重量级(功能多)
2. yii  美国华⼈开发的框架,xue qiang, qiang,  重量级框架,纯OOP框架
3. CI  CodeIgniter轻量级框架,开发速度快,部署灵活
1. cakephp外国框架,重量级,速度慢
2. symfony外国重量级框架
3. ThinkPHP轻量级框架,国⼈框架,⼊门容易
常用的php代码实例四、什么框架:
⼀堆代码的集合,⾥边有变量、函数、类、常量,⾥边也有许多设计模式MVC、AR数据库、单例等等。
框架可以节省我们50-60%的⼯作量,我们全部精⼒都集中在业务层次。
五、为什么使⽤框架
(1)框架可以帮组我们快速、稳定、⾼效搭建程序系统
(2)该系统由于框架的使⽤使得本⾝的维护性、灵活性、适应客户需求⽅⾯得到最⼤化的增强。
(3)使⽤框架的过程中可以使得我们的注意⼒全部集中业务层⾯,⽽⽆需关⼼程序的底层架构。
【使⽤框架】
thinkphp
thinkphp 3.2版本
【框架项⽬部署】
部署⼀个Shop项⽬,使⽤tp框架
步骤:
创建⼊⼝⽂件:
  1.在ThinkPHP⽬录下创建⼀个⼊⼝⽂件index.php
  2.访问⼊⼝⽂件的同时系统会⾃动把对应的应⽤⽬录⽂件Shop创建出来
  3.打开Home⽂件夹
【MVC模式】
M:Model 数据模型层,负责数据操作
V:View 视图层,负责显⽰视图
C:Controller 控制器,实现业务逻辑
【控制器访问及路由解析】
通过url地址get参数到指定的控制器,并进⾏对应⽅法调⽤请求
⽹址/index.php?m=模块名称&c=控制器&a=⽅法
以上url地址信息代码不够优雅、不安全。
tp框架url地址可以由以下四种
1. ⽹址/index.php?m=XX&c=XX&a=XX  基本get模式
2. 路径模式pathinfo
3.            rewrite重写模式
4. 兼容模式
具体url地址模式设置(配置⽂件ThinkPHP/Conf/convertion.php)
URL_MODEL  =  0/1/2/3  分别代表四种url地址模式
config.php是我们当前⾃⼰项⽬的配置⽂件,我们可以通过修改该⽂件达到配置变量的⽬录
这个⽂件在系统运⾏过程中会覆盖convertion.php的配置变量
include “convertion.php”;
include “config.php”;  后引⼊的⽂件要把先引⼊的⽂件配置变量给覆盖掉
我们系统有兼容4中url地址模式的使⽤
系统有的时候会⾃动创建url地址,它会根据当前模式进⾏url地址创建使⽤
快捷函数U();  创建url地址
通过url地址模式我们学习到了以下内容:
1. 我们学习到了配置变量(核⼼配置变量conversion.php、当前应⽤配置变量config.php)
2. 快捷函数U(“模块/控制器/⽅法”)  根据参数和url模式创建对应的url地址
3. 把框架的模式调整为开发调试模式
【开发、⽣产模式】
开发调试模式:系统需要加载⼤概24个⽂件  index.php  define(“APP_DEBUG”,true);
⽣产模式:系统只需要加载很少的⼤概7个⽂件在⼊⼝⽂件
index.php中定义: define(“APP_DEBUG”,false);
节省了许多⽂件的开发、关闭的系统开销,节省资源
要在页⾯显⽰trace信息,需要在⾃⼰的配置⽂件中:
【控制器和对应⽅法创建】
控制器是MVC模式中的核⼼,tp默认有⼀个Index控制器:
Index控制器⾥⾯有⼀个操作⽅法:Index
我们在访问⼊⼝⽂件的时候,会默认访问Index控制器下⾯的Index⽅法
如果要⾃⼰创建⼀个控制器Login:
  1.在\Shop\Home\Controller⽂件夹下新建⼀个控制器⽂件LoginController.class.php 注意:⽂件命名规则,按照驼峰法命名
  2.打开该⽂件,在⾥⾯造控制器Login类

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。