全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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程序设计有所帮助。


# Thinkphp5.0  # 自动生成  # 模块  # 目录  # ThinkPHP中的三大自动简介  # thinkPHP5.0框架自动加载机制分析  # ThinkPHP3.1新特性之动态设置自动完成和自动验证示例  # thinkphp在模型中自动完成session赋值示例代码  # thinkPHP自动验证、自动添加及表单错误问题分析  # ThinkPHP中create()方法自动验证表单信息  # thinkPHP框架自动填充原理与用法分析  # thinkPHP线上自动加载异常与修复方法实例分析  # ThinkPHP5.0框架使用build 自动生成模块操作示例  # 其他的  # 不把  # 是一个  # 进阶  # 加载  # 就会  # 放在  # 相关内容  # 我觉得  # 才是  # 在这  # 不需要  # 感兴趣  # 给大家  # 引入了  # 准备工作  # 更多关于  # 所述  # 则以 


相关文章: 定制建站价位费用解析与套餐推荐全攻略  北京的网站制作公司有哪些,哪个视频网站最好?  制作证书网站有哪些,全国城建培训中心证书查询官网?  建站之星如何助力企业快速打造五合一网站?  建站之星后台管理如何实现高效配置?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  如何制作算命网站,怎么注册算命网站?  C++中引用和指针有什么区别?(代码说明)  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  nginx修改上传文件大小限制的方法  如何用PHP快速搭建CMS系统?  如何用虚拟主机快速搭建网站?详细步骤解析  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站主机选择指南:服务器配置与SEO优化实战技巧  网站制作难吗安全吗,做一个网站需要多久时间?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  javascript中的try catch异常捕获机制用法分析  建站主机如何选?高性价比方案全解析  如何在腾讯云免费申请建站?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何快速上传建站程序避免常见错误?  学校为何禁止电信移动建设网站?  模具网站制作流程,如何找模具客户?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  如何在IIS中新建站点并解决端口绑定冲突?  MySQL查询结果复制到新表的方法(更新、插入)  C#如何序列化对象为XML XmlSerializer用法  建站主机核心功能解析:服务器选择与网站搭建流程指南  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  如何选择高效可靠的多用户建站源码资源?  建站之星后台密码如何安全设置与找回?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  小型网站建站如何选择虚拟主机?  常州自助建站工具推荐:低成本搭建与模板选择技巧  如何自定义建站之星网站的导航菜单样式?  如何在阿里云ECS服务器部署织梦CMS网站?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  用v-html解决Vue.js渲染中html标签不被解析的问题 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。