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

简介: 最近开始学习thinkphp,在下不才,很多的问题看不明白所以想拿出来,恕我大胆发在首页上,希望看到的人能为我答疑解惑,这样大家有个互动,学起来快点,别无他意,所谓活到老,学到老,希望各位不要见笑啊。 我的做法很简单,先从手册开始,手册是开发thinkphp作者辛勤劳动的成果,但是有些地方是在是不懂,如果有幸各位也遇到类似的问题希望能回复。

最近开始学习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.常量,语言参数,配置参数都是大写字母加下划线,一样的不习惯,读起来费脑子。

 

 

 

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

目录
相关文章
|
开发工具 C++ git
《人生苦短,我用python·三》pybind11简单使用
《人生苦短,我用python·三》pybind11简单使用
1279 0
|
JavaScript 安全 定位技术
vue3实现高德地图多点标注(so easy)
vue3实现高德地图多点标注(so easy)
1689 0
获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)
获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)
获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)
|
编解码 人工智能 安全
阿里云首批卓越级通过中国信通院超低延时直播性能分级评估
近期举办的2024“可信云大会”上,中国信通院正式发布了2024年上半年音视频领域最新评估结果。阿里云超低延时直播,以首批卓越级,通过中国信通院超低延时直播性能及服务质量分级测试。
阿里云首批卓越级通过中国信通院超低延时直播性能分级评估
|
XML SQL Java
【SSM】nested exception is org.apache.ibatis.binding.BindingException: Invalid boun原因总结
【SSM】nested exception is org.apache.ibatis.binding.BindingException: Invalid boun原因总结
1201 0
【SSM】nested exception is org.apache.ibatis.binding.BindingException: Invalid boun原因总结
|
SQL Python
不只是快,详解geopandas新版文件读写
不只是快,详解geopandas新版文件读写
333 0
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
612 2
|
机器学习/深度学习 自然语言处理 并行计算
【YOLOv8改进 -注意力机制】Mamba之MLLAttention :基于Mamba和线性注意力Transformer的模型
YOLOv8专栏探讨了该目标检测模型的创新改进,包括使用Mamba模型的线性注意力Transformer变体,称为MLLA。Mamba的成功关键在于遗忘门和块设计,MLLA结合了这些优点,提升了视觉任务的性能。文章提供全面分析,并提出MLLA模型,其在效率和准确性上超过多种视觉模型。论文和代码可在提供的链接中找到。MLLA Block的代码示例展示了如何整合关键组件以实现高效运算。更多配置详情见相关链接。
ENVI:影像的规则裁剪和不规则裁剪
ENVI:影像的规则裁剪和不规则裁剪
626 0
|
Oracle 安全 关系型数据库
如何在openGauss/PostgreSQL手动清理XLOG/WAL 文件?
openGauss/PostgreSQL中的预写式日志WAL(Write Ahead Log),又名Xlog或redo log,相当于oracle的online redo log, 不同的是oracle online redo log是提前创建几组滚动使用,但在opengauss中只需要本配置参数控制WAL日志的周期,数据库会一直的创建并自动清理,但存在一些情况WAL日志未清理导致目录空间耗尽,或目录空间紧张时手动删除wal日志时,比如如何确认在非归档模式下哪些WAL日志文件可以安全删除?
1585 0