ThinkPHP框架知识的注意点

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控制器对象

转载于:https://www.cnblogs.com/zhaohui123/p/7145580.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是哈希表?

哈希表是用于查找的一种表,它是根据某一函数H(key)key,来确定某一元素的存储位置,构造哈希表的方法,一般有:或是它的线性函数,来构造;还有除留余数法等等;构造这种表的过程叫哈希造表&#xff0…

前端学习(2485):vue里面的this指向

一、普通函数中的this 这是vue文档里的原话: All lifecycle hooks are called with their this context pointing to the Vue instance invoking it. 意思是:在Vue所有的生命周期钩子方法(如created,mounted, updated…

java 单元测试用例_Java单元测试和JUnit

**********************单元测试和JUnit********************************为什么要使用单元测试1.底层代码没问题,上一层才不会出现问题.. 就像盖楼一样2.提高士气,明确知道我的东西是没问题的, 保证你不被开3.加大测试的力度可以降低后期维护的成本一.什么是JUnitJ…

5专题总结-数据结构

专题5-数据结构 2017-07-13 C Primer P329好好研读,stack,queue,priority_queue都是顺序容器适配器adaptor。(接受一种已有的容器类型,使其行为看起来像另一种事物一样) 适配器的底层容器(array和forward_list都不行&a…

mysql8.0创建属性_MySQL8.0新特性——资源管理

MySQL8.0——资源管理:参考官方文档:https://dev.mysql.com/doc/refman/8.0/en/resource-groups.htmlMySQL支持资源组的创建和管理,并允许将服务器内运行的线程分配给特定组,以便线程根据组可用的资源执行。组属性可以控制其资源&…

Ribbon自带负载均衡策略比较

Ribbon自带负载均衡策略比较 策略名策略声明策略描述实现说明BestAvailableRulepublic class BestAvailableRule extends ClientConfigEnabledRoundRobinRule选择一个最小的并发请求的server逐个考察Server,如果Server被tripped了,则忽略,在选…

java byte数组转int数组_Java任意长度byte数组转换为int数组的方法

前言嗯。最近工程上遇到一个byte数组转换为int的问题,解决过程中遇到了几个坑,经过各种查资料终于还是解决了。撒花。Java的位运算以及byte数组与其他类型数据的转换比c/c感觉麻烦一些。这里简单说明一下byte数组和int的转换吧。总所周知,int…

newcondition java_Java并发Condition接口

全屏java.util.concurrent.locks.Condition接口提供一个线程挂起执行的能力,直到给定的条件为真。 Condition对象必须绑定到Lock,并使用newCondition()方法获取对象。Condition类的方法以下是Condition类中可用的重要方法的列表。序号方法名称描述1publi…

前端学习(2486):$emit

1、父组件可以使用 props 把数据传给子组件。 2、子组件可以使用 $emit 触发父组件的自定义事件。 vm.$emit( event, arg ) //触发当前实例上的事件 vm.$on( event, fn );//监听event事件后运行 fn&#xff1b; 例如&#xff1a;子组件&#xff1a; <template><di…

葡萄城报表介绍:B/S 报表软件

葡萄城报表介绍&#xff1a;B/S 报表软件 B/S 报表软件定义 B/S&#xff08;Browser/Server&#xff0c;浏览器/服务器模式&#xff09;也称 B/S 结构&#xff0c;是 WEB 兴起后的一种网络结构模式。B/S 模式是由最开始的 C/S&#xff08;Client/Server&#xff0c;客户机/服务…

java接口与集合_【总结】Java常用集合接口与集合类

目录常见集合接口概述CollectionMapCollection接口Map接口补充内容常见集合接口概述Java中包含许多集合接口。其中比较常见的主要是Collection接口和Map接口&#xff1a;1.1 Collection由单元素组成的集合。其比较常见的直接子接口是List、Set和Queue接口。表1.1 Collection接口…

Hexo自定义页面的方法

原文转自&#xff1a;http://refined-x.com/2017/07/10/Hexo%E8%87%AA%E5%AE%9A%E4%B9%89%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%96%B9%E6%B3%95/ Hexo是静态页博客生成利器&#xff0c;同很多博主一样&#xff0c;前端路上原创技术博客也是使用Hexo生成并托管在Github Page上的&…

java 图形绘制_Java Graphics 图形绘制

Graphics类提供基本绘图方法&#xff0c;Graphics类提供基本的几何图形绘制方法&#xff0c;主要有&#xff1a;画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形、画字符串等。画线段drawLinepublic abstract void drawLine(int x1,int y1,int x2,int y2)在此…

woodcut

http://www.lintcode.com/en/problem/wood-cut/# 二分答案&#xff0c;贪心验证&#xff0c;具有单调性 class Solution { public:/***param L: Given n pieces of wood with length L[i]*param k: An integer*return: The maximum length of the small pieces.*/int woodCut(v…