【摘要】:下面将使用ThinkPHP 3.0创建一个简单Web应用,该应用部署方式将使用模块分组。通过URL访问到index.php文件,ThinkPHP将会初始化项目环境,并创建相应的目录结构,此时并没有开启模块分组功能,需要在公共配置文件中配置。可见无论是使用传统的多入口文件部署方式,还是使用单入口的模块分组方式,ThinkPHP都能够完美地解决项目部署的问题。
前面简单介绍了模块分组的目录结构,模块分组最重要的概念就是它的目录结构发生了比较大的变化。下面将使用ThinkPHP 3.0创建一个简单Web应用,该应用部署方式将使用模块分组。
1.配置入口网址
使用模块分组意味着一个项目只有一个入口文件,通常为index.php文件,它与传统的多入口文件的配置是一样的,预定义常量也是通用的,不同的是需要配置APP_NAME和APP_PATH两项内容,只有这样才能使用模块分组,index.php文件代码如下所示。
通过URL访问到index.php文件,ThinkPHP将会初始化项目环境,并创建相应的目录结构,此时并没有开启模块分组功能,需要在公共配置文件中配置。
2.配置文件
打开App/Conf/config.php配置文件,该文件作为模块分组后的公共配置文件,需要配置其中的分组选项,如以下代码所示。
(www.chuimin.cn)
如上述代码所示,APP_GROUP_LIST指定了分组列表,这里将项目分为Admin和Home。通过DEFAULT_GROUP选项指定默认分组(即默认载入的分组)。公共配置文件修改完毕后,此时如果访问index.php入口文件,ThinkPHP将会报错。这是因为在公共配置文件中开启了模块分组,但相应的分组目录并未创建,所以还需要手动创建模块分组目录。
3.创建模块分组目录
首先需要创建Admin和Home组的各自配置文件,模块分组后目录是和项目名称相对应的,所以需要在Conf目录下创建Admin和Home目录。然后分别在目录中创建config.php配置文件,这样Admin项目和Home项目就有了各自的配置文件。
同样App/Lib/Action目录也需要创建Admin和Home模块分组目录,然后将默认创建的IndexAction.class.php文件移动到App/Lib/Action/Home目录,此时再访问入口文件时将不会再报错,证明项目部署成功,如图5-3所示。
图5-3 模块分组部署成功
通过上述3个步骤,就完成了模块分组,其他的编程模式和传统的部署方式是一样的。可见无论是使用传统的多入口文件部署方式,还是使用单入口的模块分组方式,ThinkPHP都能够完美地解决项目部署的问题。两种项目部署方式同样简单高效,在实际应用开发中读者可根据需求选择其中一种。通常情况下,传统的模式适合项目之间耦合度不高的项目;而模块分组方式由于同一级目录下,各模块之间可以方便调用,公共资源也能够彼此利用(例如模块分组模式有公共配置文件的概念,而传统的模式并没有),所以比较适合大容量的项目。但是由于传统的部署模式目录结构少,简单明了,也是ThinkPHP官方推荐的方式,所以本书后面的内容将使用传统的项目部署方式进行讲解。
相关推荐