黑马程序员技术交流社区

标题: 【郑州校区】ThinkPHP框架笔记详解(上) [打印本页]

作者: 我是楠楠    时间: 2017-12-13 14:27
标题: 【郑州校区】ThinkPHP框架笔记详解(上)
“html+php+数据库” 混搭式盖房子
使用“框架”盖楼房
1. 什么是框架
php框架是许多代码文件的集合,这些代码文件是程序结构的代码,不是业务代码,里边有许多函数、类、功能类包,并且框架的代码按照一定标准组成了一个有机的功能体,这个功能体里边有许多设计模式如MVC、单例、AR等等。
2. 使用框架的好处
① 框架可以帮助我们快速、稳定、高效搭建程序系统
② 该系统由于框架的使用使得本身的维护性、灵活性、适应客户需求方面得到最大化的增强。
③ 使用框架的过程中可以使得我们的注意力全部集中在业务层面,而无需关心程序的底层架构。
④ 可以节省很多的代码工作量
3. 不使用框架开发遇到的问题
① 代码编写没有统一规范,项目生命时间非常短,不延续
② 一个小地方的修改会牵扯到全局变化,牵一发动全身,影响工程整体进度
4.框架文件介绍
ThinkPHP官网:http://www.thinkphp.cn
二. 创建应用1. 创建虚拟主机
域名:web.shopapp.com
运行目录:d:/web/shopapp
编辑文件httpd-vhosts.conf
创建运行目录:
重启apache
2. 配置DNS(domain name service)域名解析
修改hosts文件:
3. 复制执行文件
4. 访问应用
3个主要应用目录:
Common:函数及配置文件目录
Home:默认前台分组(平台)目录
Runtime:运行时目录,存储日志、(模板引擎)混编等临时文件
在Home目录还有其他应用级相关文件:
项目主要运行文件和目录:
Application:项目应用目录,里边有Home分组及MVC目录等
Public:存储静态资源文件,例如js、css、img等
ThinkPHP:框架核心目录
index.php:项目的入库程序文件
三. 路由形式
以上访问效果,对应的代码位置如下:
什么是路由:
答:系统从URI(唯一资源定位器)参数中分析出当前请求的分组(平台)、控制器操作方法的过程就是“路由”。
URL和URI的简单区别:
        URL:Uniform Resoure Locator  统一资源定位器
        例如:http://www.sohu.com/
        URI:uniform resource identifier  唯一资源定位器
        例如:http://www.sohu.com/yule/20170118/556602.html
tp框架路由共有4种形式:
① 基本get形式
http://网址/index.php?m=分组&c=控制器&a=操作方法
该方式是最底层的get形式、传统的参数传递方式,不时尚、不安全。
② pathinfo路径形式[默认方式]
http://网址/index.php/分组/控制器/操作方法
http://网址/index.php/Home/Index/advert
③ rewrite重写形式(伪静态技术)省略index.php入口文件
        http://网址/分组/控制器/操作方法
        http://网址/Home/Index/index
④ 兼容形式
http://网址/index.php?s=/分组/控制器/操作方法
http://网址/index.php?s=/Home/Index/advert
四. 创建控制器
如下为MVC结构示意图,图示每个mvc架构根据业务特点应该具有多个Controller控制器。
创建GoodsController.class.php控制器及访问效果:
创建UserController.class.php控制器及访问效果:
如果控制器输入的汉字内容为乱码,就在入口文件处设置一个header头



【郑州校区】Python3 创建虚拟环境
【郑州校区】python基础之基本指令汇总
【郑州校区】Ubuntu 如何创建快捷方式

【郑州校区】python基础班之Linux 终端命令格式
【郑州校区】python基础班笔记之python操作系统
【郑州校区】subline 取消自动更新提示
【郑州校区】常用 Linux 命令的基本使用
【郑州校区】MyBatis 入门开发 —-基础入门
【郑州校区】文件和目录常用命令
【郑州校区】MyBatis 入门开发 ----Mapper接口开发
【郑州校区】系统信息相关命令
【郑州校区】用户权限相关命令
【郑州校区】远程管理常用命令
【郑州校区】文件和目录(理解)
【郑州校区】python学习之其他命令
【郑州校区】MyBatis 入门开发 ----配置文件
【郑州校区】MyBatis 入门开发 ----输入,输出参数
【郑州校区】三大框架之Struts2-day01
【郑州校区】三大框架之Struts2-day02
【郑州校区】将第3方的jar 添加到本地Maven库
【郑州校区】Hibernate入门------HelloWord
【郑州校区】三大框架笔记之Struts2-day03
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出


作者: 我是媛媛    时间: 2017-12-13 15:46
满满的干货
作者: 昌平君    时间: 2017-12-14 10:51
怎么不讲讲thinkphp5噢
作者: 米娅    时间: 2017-12-18 11:10

作者: php爱好者    时间: 2018-1-8 16:20
66666666666666
作者: dengjq    时间: 2018-5-6 06:33
我是楠楠 发表于 2017-12-13 14:27
“html+php+数据库” 混搭式盖房子 使用“框架”盖楼房1. 什么是框架php框架是许多代码文件的集合,这些代 ...

rfgfhhggjjhnn


作者: 李。com    时间: 2018-7-21 16:31
哎呦不错哦
作者: lzx866    时间: 2018-9-6 10:34
谢谢分享

作者: 大漠    时间: 2019-2-9 09:23





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2