ThinPHP v5.x安装初始化配置(项目实战)
本地环境搭建
本地环境描述:PHPStudy v8.1
PHP框架:ThinkPHP v5.1
phpstudy新建测试域名:www.think51.com
ThinkPHP v5.1安装(composer安装)
composer环境
composer安装:Composer 中文网 / Packagist 中国全量镜像 (phpcomposer.com)
//修改阿里云镜像 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer //或者中国全量镜像 composer config -g repo.packagist composer https://packagist.phpcomposer.com
安装ThinkPHP
在phpstudy环境www目录下
//第一次安装 composer create-project topthink/think=5.1.* www.think51.com
//从缓存安装
composer create-project topthink/think=5.1.* www.think51.com --prefer-dist
--prefer-dist
--prefer-source
批量生成模块
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- return [ // 生成应用公共文件 '__file__' => ['common.php'], // 定义demo模块的自动生成 (按照实际定义的文件名生成) 'admin' => [ '__file__' => ['common.php'], '__dir__' => ['behavior', 'controller', 'model', 'view'], 'controller' => ['Index', 'Manager','System', 'UserType'], 'model' => ['User', 'Manager','UserType'], 'view' => ['index/index','index/login','index/welcome'], ], 'index' => [ '__file__' => ['common.php'], '__dir__' => ['behavior', 'controller', 'model', 'view'], 'controller' => ['Index', 'User','UserInfo', 'UserType'], 'model' => ['User', 'User','UserInfo'], 'view' => ['index/index','index/login'], ], // 其他更多的模块定义 ];
把build.php存放到application目录,执行php think build命令,批量生成模块
以下提示是没有把build.php放到application目录
在网站根目录执行php think build命令批量生成模块
>php think build
隐藏入口文件
入口文件,在网站public目录下新建.htaccess 文件
//此配置文件针对phpstudy环境,默认linux环境倒数第二行为index.php后面没有?,此配置针对phpstudy环境,其他的配置可以自行搜索。 <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule>
通过phpstudy,把www.think51.com的根目录修改为www.think51.com/public
隐藏文件后,可以用phpstudy打开www.think51.com/index域名可以实现正常访问网站前台index模块。www.think51.com/admin则访问到网站后台admin模块
前台默认会访问www.think51.com/index模块/index控制器/index方法,通过www.think51.com/config.php/app.php里设置
后台输入admin访问www.think51.com/admin模块/index控制器/index方法,
在app.php默认设置里可以自行更改:
// 默认模块名 'default_module' => 'index', // 禁止访问模块 'deny_module_list' => ['common'], // 默认控制器名 'default_controller' => 'Index', // 默认操作名 'default_action' => 'index',
例如当前正在设置后台模块,可以把默认绑定模块名修改为admin,输入www.think51.com默认就访问admin模块了。
开启调试模式
config/app.php
// 应用调试模式 'app_debug' => true, // 应用Trace,TP自带调试模块 'app_trace' => true,
命令行创建模块/控制器/模型
创建模块
php think build --module 模块名
php think build --module admin即可。(模块名小写)
创建控制器
//php think make:controller 模块名/控制器名 php think make:controller admin/Goods php think make:controller admin/Login --plain //加上 --plain 参数 表示创建没有方法的空控制器类。否则控制器类中会自带一些方法。
创建模型
php think make:model 模块名/模型名
php think make:model admin/User
开启ThinkPHP模板继承
设置完成后,导入前端模板进入进一步项目实战。
其中控制器采用驼峰命名UserInfo.php的时候,视图需要创建user_info文件夹。
或者app/config/app.php中修改url_convert设置为false
模板输出替换
如果需要全局替换的话,可以直接在template.php
配置文件中添加:
用来全局配置模板文件输出的字符串替换。本次assets为后台需要的css、js等目录包
'tpl_replace_string' => [ '__ADMIN__'=>'/assets', '__STATIC__'=>'/static', ]
最后推荐一个国外前端开源UI框架
PHPStudy WWW执行以下代码:
git clone git@github.com:bopoda/ace.git acemaster