一、

真实项目开发步骤:

  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 轻量级框架,国人框架,入门容易

什么是框架:

一堆代码的集合,里边有变量、函数、类、常量,里边也有许多设计模式MVC、AR数据库、单例等等。

框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次。

为什么使用框架

l  框架可以帮组我们快速、稳定、高效搭建程序系统

l 该系统由于框架的使用使得本身的维护性、灵活性、适应客户需求方面得到最大化的增强。

l 使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关心程序的底层架构。

二、使用框架

thinkphp.cn

thinkphp 3.2版本

三、框架项目部署

部署一个Shop项目,使用tp框架

步骤:

创建入口文件:

  1. 在ThinkPHP目录下创建一个入口文件index.php

2.访问入口文件的同时系统会自动把对应的应用目录文件Shop创建出来

3.打开Home文件夹

四、MVC模式

M:Model 数据模型层,负责数据操作

V:View 视图层,负责显示视图

C:Controller 控制器,实现业务逻辑

五、控制器访问及路由解析

通过url地址get参数找到指定的控制器,并进行对应方法调用请求

http://网址/index.php?m=模块名称&c=控制器&a=方法

以上url地址信息代码不够优雅、不安全。

tp框架url地址可以由以下四种

  1. http://网址/index.php?m=XX&c=XX&a=XX   基本get模式
  2. http://网址/index.php/模块/控制器/操作方法  路径模式pathinfo
  3. http://网址/模块/控制器/操作方法           rewrite重写模式
  4. http://网址/index.php?s=/模块/控制器/方法    兼容模式

具体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信息,需要在自己的配置文件中:

转载于:https://www.cnblogs.com/sdzbxfcy/p/5716398.html

ThinkPHP基础相关推荐

  1. ThinkPHP基础概念

    OOP 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组 ...

  2. ThinkPHP 基础

    主要内容:搭建tp框架中主要文件 主要了解的是TP框架中的主要的几个文件及文件夹 提示:现在我用的是ThinkPHP框架是3.2.3版本 首先:使用框架 在www目录下 先看Conf文件夹(配置文件夹 ...

  3. thinking php 教程,Thinkphp基础教程

    写了点tp5的基础教程 创建类,命名空间,use namespace app\index\controller; //命名空间 //这些use都是后面的方法用的,可以暂时屏蔽 use think\Db ...

  4. 【thinkphp 基础 1】thinkphp 如何搭建?如何配置环境运行?

    php在现有的市场占有率还是很高的,很多中小型企业都是使用php进行后台以及api管理开发,包括不少大厂的部分业务也都是由php进行编写维护的. 随着php的发展,也出现了很多的cms(织梦.帝国.p ...

  5. ThinkPHP基础-2

    1.配置文件为了效率:应该在底层修改:一改则所有APP都能用如果单独某个APP需要特定的配置,再在单独的conf.php中单独定义,或者C方法在特定位置单独修改配置:TP底层{管理配置}+APP配置{ ...

  6. laravel基础课程---8、laravel响应和视图(响应是什么)

    laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...

  7. ThinkPHP入门--后盾视频

    1.使用ThinkPHP基础知识: PHP OOP面向对象编程思想 MVC设计模式 2.安装环境 LAMP:Linux + Apache + MySQL + PHP WAMP:Windows + Ap ...

  8. 对比ThinkPHP和Drupal看中外软件业现状

    住房.结婚.医疗.教育.养老每一个都是一座大山,"搞钱"必须是头等重要的大事,谁有空搞开源?于是仅两个核心开发者打造的ThinkPHP成为了很多人的希望,而另外一边,没有" ...

  9. thinkphp 5.0.23 rce漏洞复现

    thinkphp 5.0.23 rce漏洞复现 thinkphp介绍 thinkphp是一个快速.兼容而且简单的轻量级国产php开发框架,支持windows/Unix/linux等服务器环境,并且有相 ...

  10. thinkphp,onethink,ocenter

    现在大概懂了些: PDO thinkphp是开发php网站的框架,就是说框架部分已经都有了,可以在此基础上按照自己需求更新index.php等各种view,control信息,最终建立完成自己网站. ...

最新文章

  1. c#_关键字base
  2. docker-engine安装好了,下一步该做什么?
  3. mysql 查询优化
  4. 调用Microsoft.Jet.OLEDB.4.0需要MDAC2.7支持
  5. perl 判断不包含某字符串
  6. java大津法确定阈值,大津法得到自适应阈值
  7. php向浏览器输出,使PHP即时输出结果到浏览器
  8. Android handler.obtainMessage()传字符串用法
  9. kafka的docker文件
  10. day21 re模块
  11. [数论]莫比乌斯反演入门
  12. python箱线图标注单位_【可视化】箱线图异变标注
  13. 使用if判断用户名和密码是否正确
  14. 计算机中URL是指什么 ?
  15. java 变量 英文_java 变量(翻译自Java Tutorials)
  16. 登陆注册小Demo实现
  17. WMS 系统出入库理解
  18. 前端更新需要清空浏览器缓存_浏览器缓存机制分析及前端缓存清理
  19. python array类型取特定值
  20. [ WARN] [1588040435.867625184]: MessageFilter [target=odom ]: Dropped 97.37% of messages so

热门文章

  1. sql季度函数_SparkSql几个常用函数
  2. vue string转date_进阶高级前端,这9种Vue技术你掌握了吗?
  3. deeplearning.ai——字符级语言模型-恐龙岛
  4. 中国5G务实发展 向大规模商用推进
  5. 移动端自适应布局方案尝试
  6. Spring AOP会忽略从父类继承的方法
  7. C语言及程序设计提高例程-17 一维数组的定义和引用
  8. LiveData源码解析
  9. 如何在没有域的环境中搭建AlwaysOn(一)
  10. 渗透测试为什么要重基础、重实践?