01 简介
使用阿里源
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
6.0之后的版本只能用composer安装了,这里我用的是phpstudy
装上php7.1之后的版本+nginx+mysql+composer
使用下面这条命令安装thinkphp
composer create-project topthink/think tp
其中tp是安装路径,必须为空
02 连接数据库
数据库的配置在根目录的.env文件和\config\database.php中
以.env内配置优先,通常为了方便管理,把.env中【database】删掉,然后都在database.php里配置
使用下面这个类
use think\facade\Db
$res=Db::name('teacher')->select();
03 多应用
多应用必须安这个
composer require topthink/think-multi-app
控制器里注册的路径要改
namespace app\alexadmin\controller;
index.php是入口文件,alexadmin是模块名,Index是控制器名,hello是方法名
http://www.mystudy.com:8081/index.php/alexadmin/Index/hello
04 通过URL重写隐藏入口文件
使用多应用时会暴露入口文件
http://www.mystudy.com:8081/index.php/alexadmin/Index/hello
05 模板渲染
需要下载插件
composer require topthink/think-view
模板文件的存放地点是有规定的,这里放在了app\index\view\index\,表示index这个前台应用的所有视图中属于控制器index的视图。
<?php
namespace app\index\controller;
use app\BaseController;
use think\facade\View;
//这里的类名必须和文件名同名,且首字母大写
class Index extends BaseController
{
public function index()
{
//这里也可以不指定参数,会去自动fetch和方法名相同的模板
return View::fetch('index');
}
}
也可以直接用助手函数
return view();
自动返回与方法名同名的模板
06 多种方法获取参数
intval是整形化函数,作用就是匹配第一个出现的整形数。如34abc89整形化后就是34
07 验证码和弹出框
需要安装这个插件
composer require topthink/think-captcha
弹出框用的是layui的common.php
这个common.php里面放的就是一些经常被调用的方法,具体是把js代码直接嵌入到php中供调用
单应用的目录结构
www WEB部署目录(或者子目录)
├─app 应用目录
│ ├─controller 控制器目录
│ ├─model 模型目录
│ ├─ ... 更多类库目录
│ │
│ ├─common.php 公共函数文件
│ └─event.php 事件定义文件
│
├─config 配置目录
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─console.php 控制台配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─filesystem.php 文件磁盘配置
│ ├─lang.php 多语言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中间件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 视图配置
│
├─view 视图目录
├─route 路由定义目录
│ ├─route.php 路由定义文件
│ └─ ...
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor Composer类库目录
├─.example.env 环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件