Thinkphp5.0自动生成模块及目录的方法详解

本文实例讲述了Thinkphp5.0自动生成模块及目录的方法。分享给大家供大家参考,具体如下:

Thinkphp5.0发布已有些时日了,据说性能方面有很大的提升,按照官方的话,ThinkPHP5.0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,并针对API开发做了大量的优化。是时候得download一份,研究一下。今天主要讲讲其自动创建模块及目录。

Thinkphp5.0自动生成模块较ThinkPHP3.2,确实有很大的变化。

再次,主要讨论Thinkphp5.0生成模块。

准备工作

首先从官方下载ThinkPHP5.0,下载后文件结构如下:

只保留thinkphp目录其他的所有目录及文件一并删除(可以先转移到其他地方,以备后续使用)

现在就开始生成项目需要目录

thinkphp3.2创建目录貌似简单,但是thinkphp5.0却更加灵活。不禁想起了良才是把复杂的事情变简单;庸才是把简单的事情变复杂;蠢材是把简单的事情变得更简单,复杂的事情变得更复杂。

1.创建入口文件index.php,虽然官方强调入口文件位置,可以随意放置,但是为了便于学习,还是放在根目录下

// 应用入口文件 define('APP_PATH', 'application/'); // 定义项目路径,和之前3.2版本没有区别 define('APP_AUTO_BUILD',true); //开启自动生成 define('APP_DEBUG', true);// 开启调试模式 define('MODULE','module'); // 加载框架引导文件 require 'thinkphp/start.php'; // 执行应用 \think\App::run();

其实我个人觉得,TP官方为啥不把,程序的执行\think\App::run(); 放置在start.php  目录呢?最后,发现原来TP5.0引入了一个define('APP_AUTO_RUN', true);常量,当在index.php页面定义了改常量,项目就会自动执行,不需要添加\think\App::run();

2.创建项目名与build.php文件

个人感觉thinkphp5.0做的不好的一点就是上面定义的项目文件夹需要自己创建,究其原因,因为里面要放置项目创建配置文件build.php。但是为啥TP官方不把build.php放置在根目录下呢?然后自动生成application文件夹呢?在这一点我觉得TP3.2做的就比5.0好。

现在来讨论一下build.php,官方默认的bulid.php内容如下,现在来讨论一下

return [ // 生成运行时目录 '__dir__' => ['runtime/cache', 'runtime/log', 'runtime/temp', 'runtime/template'], '__file__' => ['common.php'], // 定义index模块的自动生成 'index' => [ '__file__' => ['common.php'], '__dir__' => ['behavior', 'controller', 'model', 'view'], 'controller' => ['Index', 'Test', 'UserType'], 'model' => [], 'view' => ['index/index'], ], // 。。。 其他更多的模块定义 ];

可以给每个模块定义需要自动生成的文件和目录,以及MVC类。

__dir__ 表示生成目录(支持多级目录)
__file__ 表示生成文件(不定义默认会生成 config.php 文件)
controller 表示生成controller类
model表示生成model类
view表示生成html文件(支持子目录)

自动生成以APP_PATH 为起始目录, __dir__ 和 __file__ 表示需要自动创建目录和文件,其他的则表示为模块自动生成。

模块的自动生成则以 APP_PATH.'模块名/' 为起始目录。

最后直接运行index.php文件即可。

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

时间: 2024-10-06 06:07:52

Thinkphp5.0自动生成模块及目录的方法详解的相关文章

CentOS 7.0下使用yum安装mysql的方法详解_Mysql

CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mys

php生成zip压缩文件的方法详解_php技巧

复制代码 代码如下: require_once "./include/zip.php"; $zip = new PHPZip(); //$zip -> createZip("要压缩的文件夹目录地址", "压缩后的文件名.zip"); //只生成不自动下载 $zip -> downloadZip("要压缩的文件夹目录地址", "压缩后的文件名.zip"); //自动下载 实例:可以参考下面的伪代码

mysql5.5数据库data目录迁移方法详解_Mysql

//前一阵子以为学习需要就在自己的本本上装了个mysql数据库.今天想把结合jsp做的项目拿到学校机器上用用,但发现数据库数据怎么迁移,首先找不到数据库的数据目录在什么地方,就上网搜了搜也没找到合适的答案,但无意中发现原来5.5已经很人性化了.现在废话不多. 先说一下,其实数据库的目录就在你安装目录的data里面,我的实在D盘.可能大家默认安装都在C吧.这样就要迁移了.这个大家都懂.(D:\Program Files\MySQL\MySQL Server 5.5\data)要是我要迁移到学校机器

Android自动编辑文本框(AutoCompleteTextView)使用方法详解

自动编辑文本框(AutoCompleteTextView)继承自EditText,能够接受用户的输入编辑,但是有这自己的特色功能:输入一定的字符以后会弹出下拉列表提示供用户选择,用户选择之后会自动填充文本框.这项功能正如浏览器的输入提示: 由于自动编辑文本框继承于EditText,它能够支持EditText的全部属性,但是在输入提示方面它有着自己的独特属性: android:completionHint     为弹出下拉菜单指定提示标题 android:completionThreshold 

excel表格自动生成分页小计的方法

  excel表格自动生成分页小计的方法           如下图所示的数据表,需要完成分页小计功能.(每5行一页) 操作步骤: 步骤1 :在最前面插入一列,在2至6行输入1,7至11行输入2.然后先取A2:A11,双击右下角向下填充,填充方式为复制单元格. 步骤2:选取整个数据表,数据 - 分类汇总 ,在打开的分类汇总窗口中,汇总项选数量和金额.另外还要选中"每组数据分页"的选项. 设置完成后即完成自动分页小计的设置,如下图所示.

让Win8自带截图工具自动保存图片到指定目录的方法

  在win8系统下,很多用户都比较喜欢使用PRTSC按键来快速获取图,用户在使用PRTSC按键后,系统将自动捕获当前桌面显示屏中的内容,不过使用该方法截图后,所截取的图片将会保存为粘贴板中,而不是以图片形式存储为本地,如果你想要将文件以文件的形式自动保存到本地的话,那么我们就需要对该截图功能进行修改设置,有很多用户不知道如何进行修改,故此小编在这里为大家详细介绍下操作方法,需要的用户不妨看下! 让Win8自带截图工具自动保存图片到指定目录的方法 第一步:在"图片"文件夹下找到&quo

eclipse中自动生成javadoc文档的方法_java

本文实例讲述了eclipse中自动生成javadoc文档的方法.分享给大家供大家参考.具体方法如下: 使用eclipse生成文档(javadoc)主要有三种方法: 1. 在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步. 在Javadoc Generation对话框中有两个地方要注意的: javadoc command:应该选择jdk的bin/javadoc.exe destination:为生成文档的保存路径,可自由选

用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

原文:用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解                  关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版---------------------------------------------------------     基于 官方原版的安装包 +

CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)_php实例

一.安装前的准备工作 1.yum update #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2 libxml2-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel #安装php.MySQL.Nngix所依赖的包 3.下载以下包 #我把所有源文件都下载在root目录,读者可自行修改源文件存放目录 3.1 libmcrypt-2.5.8