搜索
首页后端开发php教程Thinkphp5.0自动生成模块以及目录的方法
Thinkphp5.0自动生成模块以及目录的方法Jun 07, 2018 pm 03:31 PM
thinkphp5.0模块目录自动生成

这篇文章主要介绍了Thinkphp5.0自动生成模块及目录的方法,简单分析了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文件即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

ThinkPHP实现跨模块调用

ThinkPHP模板替换与系统常量及应用实例

以上是Thinkphp5.0自动生成模块以及目录的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Python常用标准库及第三方库2-sys模块Python常用标准库及第三方库2-sys模块Apr 10, 2023 pm 02:56 PM

一、sys模块简介前面介绍的os模块主要面向操作系统,而本篇的sys模块则主要针对的是Python解释器。sys模块是Python自带的模块,它是与Python解释器交互的一个接口。sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。二、sys模块常用方法通过dir()方法可以查看sys模块中带有哪些方法:import sys print(dir(sys))1.sys.argv-获取命令行参数sys.argv作用是实现从程序外部向程序传递参数,它能够获取命令行参数列

Python编程:详解命名元组(namedtuple)的使用要点Python编程:详解命名元组(namedtuple)的使用要点Apr 11, 2023 pm 09:22 PM

前言本文继续来介绍Python集合模块,这次主要简明扼要的介绍其内的命名元组,即namedtuple的使用。闲话少叙,我们开始——记得点赞、关注和转发哦~ ^_^创建命名元组Python集合中的命名元组类namedTuples为元组中的每个位置赋予意义,并增强代码的可读性和描述性。它们可以在任何使用常规元组的地方使用,且增加了通过名称而不是位置索引方式访问字段的能力。其来自Python内置模块collections。其使用的常规语法方式为:import collections XxNamedT

如何在 Python 中使用 DateTime如何在 Python 中使用 DateTimeApr 19, 2023 pm 11:55 PM

所有数据在开始时都会自动分配一个“DOB”(出生日期)。因此,在某些时候处理数据时不可避免地会遇到日期和时间数据。本教程将带您了解Python中的datetime模块以及使用一些外围库,如pandas和pytz。在Python中,任何与日期和时间有关的事情都由datetime模块处理,它将模块进一步分为5个不同的类。类只是与对象相对应的数据类型。下图总结了Python中的5个日期时间类以及常用的属性和示例。3个有用的片段1.将字符串转换为日期时间格式,也许是使用datet

Python 的 import 是怎么工作的?Python 的 import 是怎么工作的?May 15, 2023 pm 08:13 PM

你好,我是somenzz,可以叫我征哥。Python的import是非常直观的,但即使这样,有时候你会发现,明明包就在那里,我们仍会遇到ModuleNotFoundError,明明相对路径非常正确,就是报错ImportError:attemptedrelativeimportwithnoknownparentpackage导入同一个目录的模块和不同的目录的模块是完全不同的,本文通过分析使用import经常遇到的一些问题,来帮助你轻松搞定import,据此,你可以轻松创建属

目录怎么自动生成 自动生成目录格式怎么设置目录怎么自动生成 自动生成目录格式怎么设置Feb 22, 2024 pm 03:30 PM

在word中挑选目录的款式,操作完成就可以自动生成了。解析1进到电脑的word,点一下引入。2进去后,点一下文件目录。3接着挑选文件目录的款式。4操作完成,就可以看到文件目录自动生成了。补充:总结/注意事项文章的目录自动生成,其中包括一级标题、二级标题和三级标题,通常不超过三级标题。

Python中的Shutil模块Python中的Shutil模块Aug 18, 2023 pm 11:57 PM

Python作为一种多功能且强大的编程语言,提供了许多模块和库来简化各种任务。其中一个模块是Shutil,它代表"shellutilities",提供了一套全面的文件和目录操作函数。无论您需要复制、移动、重命名还是删除文件和目录,Python中的Shutil模块都可以通过其用户友好且高效的功能帮助您。在本教程中,我们将深入探讨Shutil模块的世界,并探索其在Python中管理文件和目录的能力。我们将为您介绍Shutil的主要特点和功能,并提供实际示例和代码片段。在文章的下一

wps目录怎么自动生成目录页码wps目录怎么自动生成目录页码Feb 27, 2024 pm 04:01 PM

WPS是一款功能强大的办公软件,可以帮助我们高效地完成各种办公任务。其中,自动生成目录页码是一项非常实用的功能。能极大的为用户们提高自己的工作效率,那么下面本站小编就带来本文详细为大家介绍一下如何使用WPS自动生成目录页码,希望能帮助到各位有需要的小伙伴们。wps目录怎么自动生成目录页码首先打开wps群文档,在空白处输入要生成目录的内容,然后在开始菜单栏中选择标题1、标题2、标题3的样式。2、然后设置好之后我们点击其中的【引用】功能,点击之后在引用的工具栏中,在这里我们点击【目录】;3、最后点击

Python常用标准库及第三方库3-日期、时间处理模块Python常用标准库及第三方库3-日期、时间处理模块Apr 10, 2023 pm 02:51 PM

时间处理是编程中一个比较常见的情况,比如转换时间类型:后端接口传参时通常是传递时间戳,前台拿到接口返回值中的时间戳通常需要格式化后再进行展示。在Python中,处理时间的模块有time、datetime。一、time模块1.time模块简介time模块是Python专门用来处理时间的内建库。它自带了很多方法,可以将不同的时间类型进行相互转换,例如可以将时间戳类型转换为时间元组、时间元组转换为格式化时间、 格式化时间转换为时间戳......2.常见的时间类型在Python中,通常有这几种方式来表示

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!