ThinkPHP框架

访问入口文件后在application文件夹中会出现一些文件夹,其中的home文件夹是前端模块,也可以在application文件夹中新建文件夹。
home文件夹模块中Conf文件夹的config配置文件,是对于当前模块的:修改当前模式
convention配置文件是对于全体的配置文件:整体的模式

一、MVC模式(把程序分成3层,也就是三层架构,核心是控制器也就是controller):
M:model数据模型层 数据库的相关操作是放在model文件夹中
V:view 视图层 模板文件
C:controller 控制器 写程序逻辑

MVC模式注意事项:

MVC模式访问的时候是访问的控制器中的操作方法,而不是访问的文件
用到数据库时:控制器不仅要拿出静态页面,还要解析静态页面的标签,然后在调数据库,最后将这两个综合然后发给客户端
如果程序使用MVC模式:约定胜于配置

约定:
1.类文件命名要用驼峰法,也就是首字母大写
2.类文件的类名要和文件名保持一致

通过修改入口文件中的/Application/,可以切换访问文件
// 定义应用目录

define('APP_PATH','./Application/');

控制器写法格式:
namespace命名空间(用的是反斜杠):相当于一个虚拟目录
例如:

namespace Home\Controller;

use 父类命名空间
例如:

use Think\Controller;

定义控制器类(继承父类控制器类)
例如:

class IndexController extends Controller {
        }

操作方法(首字母小写)
例如:

public function index(){

    }

  

二、注入变量:
$this->assign();

显示模板:display和show方法不用给参数
$this->display();
$this->show();

三、模板存放规则:
不能直接创建模板文件,应该这样:
先建立文件夹:名字是控制器的:方法的名字

系统常量(比较常用的:双下线打头的):
__ROOT__
__INFO__
__SELF__(浏览器中有什么它就有什么,自身访问路径)
__APP__
__MODLE__(模块名) __CONTROLLER__(当前控制下的处理控制方法) __ACTION__(当前操作方法)

四、命名空间

命名空间:相当于虚拟目录实现自动加载类的机制

初始命名空间:ThinkPHP\Library

初始命名空间下有很多根命名空间:
(1)Library里面的文件夹

(2)Application中的模块文件夹

注意:
(1)定义的时候:
       在写命名空间时:需要从根写起,写到该文件所在的文件夹结束
(2)使用的时候:
       在用命名空间时:从根开始写,写到类名结束
(3)命名空间里面用“反斜杠”
(4)所有的类文件都会定义命名空间;但是不是所有的类文件要使用命名空间;用到了某个类,但是在同一目录下也可以不用写

五、tp框架的快捷函数:

1.U() 制作url地址的快捷函数

2.C(名称) 获得配置变量(convertion.php config.php)信息
3.C(名称,值) 设置配置变量信息

4.L() 获得语言变量信息
5.E() 给页面输出错误信息

6.A("项目://模块/控制器") 实例化控制器对象
7.A("Home/User") 实例化User控制器对象
8.A("book://Home/User") 实例化book项目的Home模块的User控制器对象

后面继续更新中~

ThinkPHP框架知识的注意点的更多相关文章

  1. ThinkPHP框架知识

    php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...

  2. ThinkPHP框架知识(比较全的知识)

    php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...

  3. tp框架知识 之(链接数据库和操作数据)

    框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写con ...

  4. thinkphp框架 的 链接数据库和操作数据

    框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写con ...

  5. ThinkPhp框架对“数据库”的基本操作

    框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是 ...

  6. tp框架知识 之(链接数据库和操作数据内容)

    框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写con ...

  7. ThinkPHP框架基础知识一

    ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来 ...

  8. ThinkPHP框架的一些基础应用

    这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...

  9. 【PHP ThinkPHP框架】小bug汇总[更新]

    目录结构 1.函数调用 2.绑定select下拉框数据 3.PHP查询功能 4.格式化时间和价钱 5.IF标签比较两个变量 6.eq标签比较两个变量 7.新增信息或者修改信息的自动验证和自动填充 8. ...

随机推荐

  1. Spring classPath:用法

    http://blog.csdn.net/xing_sky/article/details/8228305 参考文章地址: http://hi.baidu.com/huahua035/item/ac8 ...

  2. LinkedHashMap遍历

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  3. delphi BitmapCompress

    unit Unit2; interface uses  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Va ...

  4. js实现数组去重并且显示重复的元素和索引值

    var arr=["a","b","c","d","c","b","d ...

  5. 开箱即用 - jwt 无状态分布式授权

    基于JWT(Json Web Token)的授权方式 JWT 是JSON风格轻量级的授权和身份认证规范,可实现无状态.分布式的Web应用授权: 从客户端请求服务器获取token, 用该token 去访 ...

  6. 【JAVA笔记】JAVA后端实现统一扫码支付:微信篇

    最近做完了一个项目,正好没事做,产品经理就给我安排了一个任务.   做一个像收钱吧这样可以统一扫码收钱的功能.   一开始并不知道是怎么实现的,咨询了好几个朋友,才知道大概的业务流程:先是开一个网页用 ...

  7. RabbitMQ安装和使用(和Spring集成)

    一.安装Rabbit MQ Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang.通过下面两个连接下载安装3.2.3 版本: 下载并安装 E ...

  8. Web Worker无阻塞UI的牛逼技术,html5,可惜无法敢于UI

    众所周知,JavaScript是单线程的,JS和UI更新共享同一个进程的部分原因是它们之间互访频繁,但由于共享同一个进程也就会造成js代码在运行的时候用户点击界面元素而没有任何响应这样的情况,这么糟糕 ...

  9. webapi 发布接口报405错误(angularjs2.0)

    参考链接:http://www.cnblogs.com/shenbin/p/5680976.html web访问接口报405错误,以前的jQuery访问方式访问接口没有问题. 但是换成angularj ...

  10. iOS Paros 连接在同一WIFI下的网络抓包

    图文详解: 说说网络抓包,几天前的事了,想抓个包看看 某爱网(全名自己脑补)的数据,就上网找了一下抓包,以前经常抓接口,时间长了忘了.那时候也不是用苹果手机抓取的,前几天试着抓了一下,今天不适合敲代码 ...