原文:thinkphp学习笔记1—目录结构和命名规则

最近开始学习thinkphp,在下不才,很多的问题看不明白所以想拿出来,恕我大胆发在首页上,希望看到的人能为我答疑解惑,这样大家有个互动,学起来快点,别无他意,所谓活到老,学到老,希望各位不要见笑啊。

我的做法很简单,先从手册开始,手册是开发thinkphp作者辛勤劳动的成果,但是有些地方是在是不懂,如果有幸各位也遇到类似的问题希望能回复。thinkphp手册地址:http://doc.thinkphp.cn/manual.html

1.框架目录

在章节1.6 目录结构,内容如下:

新版的目录结构在原来的基础上进行了调整,更加清晰。

目录/文件 说明
ThinkPHP.php 框架入口文件
Common 框架公共文件目录
Conf 框架配置文件目录
Lang 框架系统语言目录
Lib 系统核心基类库目录
Tpl 系统模板目录
Extend 框架扩展目录(关于扩展目录的详细信息请参考后面的扩展章节)

注意:如果你下载的是核心版本,有可能Extend目录是空的,因为ThinkPHP本身不依赖任何扩展。

如果我们打开主目录下的ThinkPHP目录,主要内容如上所说,截图如下图1:

图1

可以发现系统核心基类库已经不叫Lib了,这里是Library,开提到Extend这目录,说是框架扩展目录,并且还特别提示在核心版本中这个目录中是空的,可是我在ThinkPHP3.2.2核心版和ThinkPHP3.2.2完整版这两个版本中都没有找到这个Extend目录。截图如下:

图2.完整版目录

图3.核心版目录

如果我们打开的是整个目录看到的是下面的内容,如果4

图4.完整目录

这里我们可以看到其他的文件目录,还好作者在除了框架目录ThinkPHP之外的其他目录中都放了一个README.md文件来告诉我们这个目录是做什么的,

1.Application:项目目录
2.Public:资源文件目录,应该放css,js和图片
3.ThinkPHP:框架目录,这个是核心类容放在这里
4..htaccess:一个分布式配置文件,刚接触这个文件觉得很复杂,这里不具体讲这个文件的功能
5.index.phh:入口文件
6.README.md:这个自述文件

2.命名规则

1.类名以.class.php结尾,并且使用驼峰命名,这点个人很稀罕,可能因为作者是写了一段时间的java再来写这个框架,把java中的一些东西拿到这里了,所以我很稀罕,因为我写了很长时间的.net,呵呵,很讨厌以下划线分割单词来命名的方式,感觉让人来读一个以下划线分割的数组,麻不麻烦,直接读几个单词要比读一个数组简单啊,但是这个下划线命名的方式是php发明者的习惯,我们只好无奈地接受。

2.大小写,我记得php中自定义变量是区分大小写的,其他都不区分,但是为了避免我们在大小写单词之间切换,建议还是区分,我觉得能用小写尽量用小写,上学时做英文阅读理解有没有很烦出现大写的单词,有木有?

3.类名和文件名保持一致,这个也双手举赞,这样看到文件名就知道类名称了,还有.net是这样规定的。

4.函数的命名使用小写字母加下划线的方式如:get_client_ip,这点为什么没有使用驼峰或者pascal命名方式呢,这样不是更加符合阅读习惯么。

5.常量,语言参数,配置参数都是大写字母加下划线,一样的不习惯,读起来费脑子。

thinkphp学习笔记1—目录结构和命名规则相关推荐

  1. thinkphp学习笔记10—看不懂的路由规则

    原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...

  2. Solr6.7 学习笔记(01) -- 目录结构

    Solr解压后的目录结构 --contrib: Solr的一些扩展 --analysis-extras: 包含一些文本分析组件及其依赖 --clustering: 包含一个用于集群搜索结果的引擎 -- ...

  3. thinkphp学习笔记7—多层MVC

    原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...

  4. thinkphp学习笔记8—命名空间

    原文:thinkphp学习笔记8-命名空间 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制. 需要给类库定义所在的命名空间,命名空间 ...

  5. SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月

    邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...

  6. 软件工程学习笔记《目录》

    软件工程学习笔记<目录> 软件工程学习笔记<一>什么是软件工程 软件工程学习笔记<二>代码规范 软件工程学习笔记<三>代码优化和性能测试 软件工程学习笔 ...

  7. 设计模式学习笔记(目录篇)

    设计模式学习笔记(目录篇) 为了方便查看,特此将设计模式学习笔记系列单独做一个目录. 1   设计模式学习笔记(一:命令模式) 2   设计模式学习笔记(二:观察者模式) 3   设计模式学习笔记(三 ...

  8. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  9. 5G NR学习笔记:帧结构和物理资源

    5G NR学习笔记:帧结构和物理资源 参数集(numerology) 与LTE的参数集(子载波间隔和符号长度)不同,NR支持不同的子载波间隔(Sub-Carrier Spacing, SCS),所有的 ...

  10. 华为HCIA-datacom 学习笔记汇总目录

    华为HCIA-datacom 学习笔记汇总目录 华为HCIA-datacom 学习笔记1--网络参考模型 华为HCIA-datacom 学习笔记2--华为VRP系统 华为HCIA-datacom 学习 ...

最新文章

  1. 网页分析利器:IEDevToolBar
  2. [分享]MOSS的CSS样式说明,一个老外总结的
  3. 构建乘积数组(剑指offer)
  4. R中rep函数的使用
  5. Arthas - Java 线上问题定位处理的终极利器
  6. realsense d435i 跑 vins-fusion
  7. C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031
  8. Spring事务总结(一) 内部调用事务失效、异常回滚
  9. 各种变换的原理----DX版本
  10. 2005数据库结构显示收藏
  11. Boss说:你要是能搞懂这六个分布式技术栈,我给你薪资翻倍
  12. vs2015卸载指南
  13. 开源问卷工具LimeSurvey:1:概要与安装
  14. 大一java计算圆面积_Java练习题——计算圆的面积
  15. Shiro框架Given final block not properly padded问题解决
  16. 电脑文档被删了怎么恢复?小方法好助手
  17. 微信App支付源码坑注释
  18. OSChina 周二乱弹 ——爸爸陆陆续续回家了
  19. 后缀自动机(我太蒟了!)
  20. Usb Composite Device (audio+hid) Descriptor

热门文章

  1. Affine层/Softmax层的实现
  2. Scala 按名称传递参数 by-name parameter
  3. 文件系统[HDU-1413]
  4. 解读absolute与relative(转载)
  5. python IDE 集合
  6. 一点创业想法:读书类垂直博客
  7. 我真是个懒人,。。。
  8. 台哥算法练习 - 自己写的一个LinkedList
  9. Winson.Framework 1.5发布!
  10. http请求被挂起 cancled 原因