什么是ThinkPHP?为什么要学习?
来源:互联网 发布:福建师范网络继续教育 编辑:程序博客网 时间:2024/05/21 18:46
什么是框架?什么事开发框架?
框架是具有一套成熟的编程逻辑的、一些丰富类库的php文件,(它往往是一个项目有完整的增删改查)
ThinkPHP是一个轻量级的开发框架(比较小、仅提供一部分功能,可以扩展第三方功能)
程序开发过程中的版本知识
Alpha版 团队内部测试版 存在重大bug的可能
Bata版 提供给客户 公众测试版 如未出的qq2013beta版
RC版 开发的倒计时版 基本没太大问题,还需要继续测试
Final 正式版
ThinkPHP提供两个版本分别是
---核心包 只包含thinkPHP框架
------完整包 包括了thinkPHP框架、手册、案例、扩展
安装方法:
我们下载完整版
1) 解压缩
2) 放到我们的zend工程目录文件
3) 编写入口文件
入口文件有两种写法,分别是简单版、复杂版
1) 新建index.php
2) Require“./ThinkPHP/ThinkPHP.php”
3) 浏览器中文件访问工程文件thinkPHP自动生成项目文件
复杂版:
1) 新建index.php
2) 定义常量THINK_PATH 、APP_NAME、APP_PATH
THINK_PATH在2.0中要定义、高版本可以不用
APP_NAME定义项目的名称
APP_PATH定义项目的路径
3) 浏览器中访问该工程文件,thingPHP自动生成项目文件
使用方法:
MVC: M-model 模型(负责和数据库打交道,我们不直接操作数据库,而是直接和数据库操作(orm))
C-control控制层 (主要负责接收用户的请求,并且调用相关的处理方法,最后把结果传递给表现层)
V-view 视图层/表现层 (主要负责数据显示,负责的是控制层传递过来的数据显示)
Mvc的每一层对应ThinkPHP框架的那一部分
M层(目前还没用到)
C层在生成的项目文件的Lib\Action文件夹下,默认的是indexAction.class.php
方法名==操作名==动作名
indexAction.class.php的命名规范
ThinkPHP中类名的命名规范 “模块名+Action/Model”.class.php
2)indexAction.class.php中的类名 “模块名+Action”
3)每一个Action都必须继承 基类 Action
4)每一个控制层都可以有一个默认的方法functionindex(){}
当控制层的某一个类被执行的使用,默认的会执行index方法
V层 视图层/表现层
上周的时候,我们重点说了怎么找到c层对应的试图文件
通过$this->display()方法找到,模板文件$this->display()模板输出
ThinkPHP3.0给我们提供了四种模板输出方法
1)$this->diaplsy()找默认的模板文件,找的是那个模板文件呢?取决于你是哪个模块那个方法?
假如是UserAction的reg方法找哪个对应的模板 /Tpl/User/reg.html==/TPl/模块名/方法名.html
只要执行这句话$this->display()他就去到目录tpl文件价下找文件
2)$this->display(“方法名”);
他就会去到项目目录下下找文件“模块名” 文件夹的方法.html
4) 调用其他模块的方法对应的模板 $this->display(“模块名:方法名”);
5) 调用其他主题的操作模板 格式;display(“主题名:模块名:操作名”)
它就会去项目目录下的tpl下找到“主题名”文件名 找文件“模块”文件夹下对应的方法名
直接路径输出模板
变量输出:其实等同于Smarty中的变量分配的概念
如何分配一个变量:$this->assign(“变量的名称”,“变量的值”)变量值可以是数字、字符串、数组、甚至可以是对象
- 什么是ThinkPHP?为什么要学习?
- 什么是嵌入式,我们为什么要学习嵌入式?
- 什么是jQuery?为什么要学习jQuery?
- 学习ES6-什么是ES6?为什么要学习ES6?
- 什么是阻抗?什么是阻抗匹配?为什么要阻抗匹配?
- 什么是经济学?为什么、怎样学习经济学
- 什么是SOA?为什么要SOA?
- 什么是对齐,为什么要对齐
- 什么是SOA?为什么要SOA?
- openCV学习系列1:我为什么要学习openCV,什么是openCV
- 【OC学习-12】什么是类的继承?为什么要继承?以及继承里面的注意事项
- 什么是模式?什么是框架?软件为什么要分层?
- 什么是模式?什么是框架?软件为什么要分层?【转】
- 什么是名空间,为什么要使用它?
- 一.什么是字节对齐,为什么要对齐?
- 什么是中断,为什么要用中断?
- 什么是字节对齐,为什么要对齐?
- 什么是dbunit以及为什么要使用它
- 顺时针打印矩阵(面试宝典)
- 站点改进心得--CSS、JS在不同浏览器的兼容性问题 - []
- 使用java接口或则java抽象类
- 50款CSS工具
- 迷雾中挣扎
- 什么是ThinkPHP?为什么要学习?
- Ubuntu 安装Emacs23.4
- 拥塞控制 流量控制 区别
- Qumarion 3D技术轻松建模 动漫制作更省心
- prototype的重新认识
- 英语也就这么回事
- 用VC++获取系统时间几种方法
- void Traverse()//while( walker!=rear) { printf("%c",buff[walker]); walker=(walker+1)%10;
- Object-C使用ICE