├─ common 框架公共文件目录
├─ conf 框架配置文件目录
├─ extend 框架扩展目录
├─ lang 框架系统语言目录
├─ lib 系统核心基类库目录
│ ├─ behavior 内置行为类库
│ ├─ core 核心类库包
│ ├─ driver 内置驱动类库包
│ │ ├─ cache 内置缓存驱动
│ │ ├─ db 内置数据库驱动
│ │ ├─ taglib 内置标签驱动
│ ├─ template 内置模板引擎驱动
├─ tpl 系统模板目录
├─ thinkphp.php 框架入口文件
新建项目入口文件index.php
<?phprequire './thinkphp/thinkphp.php';
在浏览器中访问项目,页面显示:
此时项目目录 app下文件发生了变化,除了入口文件 index.php 和框架包,其他都是自动生成的:
各个文件夹作用:
├─ common 项目公共文件目录
├─ conf 项目配置目录
├─ lang 项目语言包目录
├─ lib 项目类库目录
│ ├─ action action 类库目录
│ ├─ behavior 行为类库目录
│ ├─ model 模型类库目录
│ ├─ widget widget类库目录
├─ runtime 项目运行时目录
│ ├─ cache 模板缓存目录
│ ├─ data 数据缓存目录
│ ├─ logs 日志文件目录
│ ├─ temp 临时缓存目录
├─ thinkphp 框架目录
├─ tpl 项目模板目录
├─ index.php 项目入口文件
这种方式的入口文件 index.php 是存在项目目录之内。也可以入口文件移动到 app 目录的外面,修改入口文件 index.php :
<?php//定义项目名称define('app_name', 'application');// 定义项目路径define('app_path', './application/');//加载框架入口文件require './thinkphp/thinkphp.php';
目录结构:
项目部署方式分为两种,一种是应用部署,每一个项目对应一个入口文件,例如前台入口文件对应 index.php,后台入口文件对应 admin.php,这种项目部署是thinkphp推荐的方式;
前台入口文件:
<?phpdefine('app_name', 'home');define('app_path', './home/');require './thinkphp/thinkphp.php';
后台入口文件:
<?phpdefine('app_name', 'admin');define('app_path', './admin/');require './thinkphp/thinkphp.php';
另一种是模块分组部署是把所有的应用对应到一个入口文件,项目的模板文件还是放到项目的tpl目录下面,只是将外部调用的资源文件, 包括图片js和css统一放到网站的公共目录public下面,分images、js和css子目录存放,如果有可能的话,甚至也可以把这些资源文件单独放一个外部的服务器远程调用,并进行优化。
模块分组需要配置app_name和app_path;
在 web 根目录创建项目目录 app,并且拷贝框架包 thinkphp 至同级目录,同时在同级创建所有项目公共资源目录 public、所有项目公共上传目录 uploads 以及入口文件 index.php:
入口文件index.php:
<?phpdefine('app_name', 'app');define('app_path', './app/');//开启debug,不加载缓存文件define('app_debug', true);require './thinkphp/thinkphp.php';
通过 url 访问 index.php ,初始化项目环境后,app 目录下自动生成的目录:
然后在app/conf/config.php 配置文件中,配置分组选项:
<?phpreturn array( //'配置项'=>'配置值' 'app_group_list' => 'admin,home', 'default_group' => 'home',);
如果此时访问 index.php 入口文件,thinkphp 会报错:
因为在公共配置文件中开启了模块分组,但相应的分组目录并没有创建,需要手动创建 admin 和 home 组的各自配置文件:conf 目录下创建 admin 和 home 目录。
然后分别在目录中创建 config.php 配置文件;app/lib/action 目录也需要创建 admin 和 home 目录,然后将默认创建的 indexaction.class.php 文件移动到 app/lib/action/home 目录,此时访问入口文件不会报错,项目部署成功:
如果隐藏入口文件,两者的url地址看起来几乎一样:
推荐教程:《tp5》
以上就是thinkphp3.1项目开发部署的详细内容。
