ThinkPHP 5.0

ThinkPHP5在保持快速开发和大道至简的核心理念不变的同时,PHP版本要求提升到5.4,对已有的CBD模式做了更深的强化,优化核心,减少依赖,基于全新的架构思想和命名空间实现,是ThinkPHP突破原有框架思路的颠覆之作,其主要特性包括:

基于命名空间和众多PHP新特性

核心功能组件化

强化路由功能

更灵活的控制器

重构的模型和数据库类

配置文件可分离

重写的自动验证和完成

简化扩展机制

API支持完善

改进的Log类

命令行访问支持

REST支持

引导文件支持

方便的自动生成定义

真正惰性加载

分布式环境支持

更多的社交类库

ThinkPHP5的运行环境要求PHP5.4以上。

目录结构

初始的目录结构如下:

www WEB部署目录(或者子目录)

├─application 应用目录

│ ├─common 公共模块目录(可以更改)

│ ├─module_name 模块目录

│ │ ├─config.php 模块配置文件

│ │ ├─common.php 模块函数文件

│ │ ├─controller 控制器目录

│ │ ├─model 模型目录

│ │ ├─view 视图目录

│ │ └─ ... 更多类库目录

│ │

│ ├─command.php 命令行工具配置文件

│ ├─common.php 公共函数文件

│ ├─config.php 公共配置文件

│ ├─route.php 路由配置文件

│ ├─tags.php 应用行为扩展定义文件

│ └─database.php 数据库配置文件

├─public WEB目录(对外访问目录)

│ ├─index.php 入口文件

│ ├─router.php 快速测试文件

│ └─.htaccess 用于apache的重写

├─thinkphp 框架系统目录

│ ├─lang 语言文件目录

│ ├─library 框架类库目录

│ │ ├─think Think类库包目录

│ │ └─traits 系统Trait目录

│ │

│ ├─tpl 系统模板目录

│ ├─base.php 基础定义文件

│ ├─console.php 控制台入口文件

│ ├─convention.php 框架惯例配置文件

│ ├─helper.php 助手函数文件

│ ├─phpunit.xml phpunit配置文件

│ └─start.php 框架入口文件

├─extend 扩展类库目录

├─runtime 应用的运行时目录(可写,可定制)

├─vendor 第三方类库目录(Composer依赖库)

├─build.php 自动生成定义文件(参考)

├─composer.json composer 定义文件

├─LICENSE.txt 授权说明文件

├─README.md README 文件

├─think 命令行入口文件

router.php用于php自带webserver支持,可用于快速测试

切换到public目录后,启动命令:php -S localhost:8888 router.php

上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数。

命名规范

ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:

目录和文件

目录不强制规范,驼峰和小写+下划线模式均支持;

类库、函数文件统一以.php为后缀;

类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;

类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);

函数和类、属性命名

类的命名采用驼峰法,并且首字母大写,例如 User、UserType,默认不需要添加后缀,例如UserController应该直接命名为User;

函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;

方法的命名使用驼峰法,并且首字母小写,例如 getUserName;

属性的命名使用驼峰法,并且首字母小写,例如 tableName、instance;

以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;

常量和配置

常量以大写字母和下划线命名,例如 APP_PATH和 THINK_PATH;

配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;

数据表和字段

数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表字段命名。

参与开发

版权信息

ThinkPHP遵循Apache2开源协议发布,并提供免费使用。

本项目包含的第三方源码和二进制文件之版权信息另行标注。

版权所有Copyright © 2006-2017 by ThinkPHP (http://thinkphp.cn)

All rights reserved。

ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。

tp5类的属性不存在_tp5相关推荐

  1. tp5类的属性不存在_thinkPHP5.1框架中Request类四种调用方式示例

    本文实例讲述了thinkPHP5.1框架中Request类四种调用方式.分享给大家供大家参考,具体如下: 1. 传统调用 访问方式:http://127.0.0.1/demo/demo3/test?n ...

  2. python隐藏部分代码_python隐藏类中属性的3种实现方法

    方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height): self.hidden_w ...

  3. python 类 公有属性、私有属性、公有方法、私有方法

    python 类 公有属性.私有属性.公有方法.私有方法 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Int ...

  4. java内省操作类的属性

    java内省操作类的属性 1.取得指定类的属性的方法 2.操作指定类的属性的方法 3.得到指定类的属性数据类型的方法 package com.ma.introspector;import java.b ...

  5. 《JAVA练习题目11》学生类有属性姓名(字符串类型)和选修课程信息(ArrayList<Course>对象)两个属性,和三个方法

    学生类有属性姓名(字符串类型)和选修课程信息(ArrayList对象)两个属性,和三个方法 一个用于初始化学生名字的构造方法:一个添加选修课程的addCourse方法:一个获取所有课程平均分的getA ...

  6. python面向对象开发(类的属性-精讲

    视频地址:http://v.youku.com/v_show/id_XNDg3NjU1MjE2.html 1 #!/usr/bin/python 2 #coding:utf8 3 var4 = &qu ...

  7. 一个类的实例是另一个类的属性python_Python中的类属性和实例属性引发的一个坑...

    问题 今天在项目中遇到了个奇怪的问题,实例的一个时间属性并没有根据时间变化而变化,分析之后恍然大悟,总结下分享给大家.大家先看一段代码: import datetime import time cla ...

  8. java 类 赋值_Java实现不同的类的属性之间相互赋值

    在开发的时候可能会出现将一个类的属性值,复制给另外一个类的属性值,这在读写数据库的时候,可能会经常的遇到 ,特别是对于一个有继承关系的类的时候,我们需要重写很多多余的代码,下面有一种简单的方法实现该功 ...

  9. java中蛇的属性有哪些_学习Java类的属性

    学习Java类的属性-武汉北大青鸟 Public.private.protected显示了三种类中的属性和服务的类型,public是可以随意访问的.private是外界不能访问的(显示了数据的封装性) ...

最新文章

  1. Qiskit | IBM开源量子计算SDK
  2. IBM虚拟化石油行业成功案例分享
  3. Maven -- 使用Myeclipse创建Maven项目
  4. Cissp-【第3章 安全工程】-2021-2-23(290页-321页)
  5. SQL语言基本语句介绍
  6. 万字长文浅析SpringCould微服务负载均衡框架Ribbon源码(字多慎入)
  7. mysql的连表查询_MySQL_连表查询
  8. php打png图片水印颜色失真,ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整...
  9. Magento:Paypal付款不成功返回后不要清空购物车产品的解决方案
  10. [转发]黑苹果修改DSDT彻底解决关机不断电和睡眠问题
  11. 封装echarts 柱状图和曲线
  12. 面向对象基础知识四:关联关系
  13. Some file crunching failed, see logs for details
  14. c语言用循环转换单词首字母,用c++实现将文本每个单词首字母转换为大写
  15. 嵌入式Flash设备的文件系统:jffs/jfss2和yasffs/yasffs2
  16. html添加到购物车飞入动画效果,加入购物车的动画效果
  17. VCC、VDD、VSS、GND区别
  18. ECSHOP 银联在线支付 PHP 银联商务
  19. CNN可视化技术 -- CAM Grad-CAM详解及pytorch简洁实现
  20. Linux shell脚本练习

热门文章

  1. AttributeError: 'dict' object has no attribute 'iteritems'
  2. 全球及中国铍铜线行业市场投资前景与发展战略规划分析报告2022-2028年
  3. 【前端】Vue项目开发流程
  4. 【量化交易】 成长指路 【0010】
  5. 转:JS-正斜杠和反斜杠的转换
  6. JVM 垃圾收集器 G1 详解
  7. c++实验三-个人所得税计算器
  8. nginx中配置php
  9. 思考gRPC :为什么是HTTP/2
  10. 如何在百度、谷歌搜索到我的网站?