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. 2.12. 后端 SQL 的可见性(Core Data 应用程序实践指南)

    上一节已经插入了数据,非常好.但是,我得更进一步.要知道里面究竟发生了什么,持久化存储区的数据有什么变化,生成了哪些查询语句.每次运行程序时,是否重复插入了对象. 有一个调试选项可以提供足够的信息,开 ...

  2. C# is 运算符

    is 运算符并不是说明对象是某种类型的一种方式,而是可以检查对象是否是给定的类型,或者是否可以转换为给定的类型,如果是,这个运算符就返回true.is 运算符的语法如下: <operand> ...

  3. js原生设计模式——7原型模式之真正的原型模式——对象复制封装

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  4. JQuery flot API文档 中文版

    调用plot函数的方法如下: var plot = $.plot(placeholder, data, options) 其 中placeholder可以是JQuery的对象,DOM元素或者JQuer ...

  5. Linux C++程序进行性能分析工具gprof使用入门

    性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是 ...

  6. 移动设备应用程序中支持多个屏幕大小和 DPI 值

    支持多个屏幕大小和 DPI 值的指导原则 要部署独立于平台的应用程序,应了解不同的输出设备.设备可以具有不同的屏幕大小或分辨率以及不同的 DPI 值或密度. Flex 工程师 Jason SJ 在他的 ...

  7. NSException异常处理

    异常处理是管理非典型事件(例如未被识别的消息)的过程,此过程将会中断正常的程序执行.如果没有足够的错误处理,遇到非典型事件时,程序可能立刻抛出(或者引发)一种被称之为异常的东西,然后结束运行. 异常的 ...

  8. log4j.appender.stdout.layout.ConversionPattern

    http://501565246-qq-com.iteye.com/blog/1991881 http://wenku.baidu.com/link?url=e4Z9v9CY_gwRxHrggzHXx ...

  9. (汉化改进作品)BruteXSS:Xss漏洞扫描脚本

    今天给大家进行汉化改进的事一款脚本工具:BruteXSS,这款脚本能自动进行插入XSS,而且可以自定义攻击载荷. 该脚本也同时提供包含了一些绕过各种WAF(Web应用防护系统)的语句.   0×01简 ...

  10. js 全选/取消

    平时常用一个小功能 var check_all = document.getElementsByName('student_box'); var check_flag = true; function ...