1 路由重点,默认是混合模式 pathinfo开启 需要使用$this->request->param(“传参”)
2.data目录下config中route.php 是最核心路由 可以存放return配置,应用路由即在当天目录下创建app.php
3.当前网址 {$Request.scheme}://{$Request.host}/
data/config/route.php 【一般产品前端采用强制模式(前端模板必须使用url函数产生链接)】
<?php
use think\facade\Route;
return [
// 关闭自动路由(核心:禁止通过 模块/控制器/方法 直接访问)
'auto_route' => false,
// 关闭控制器后缀(可选,根据你的代码规范调整)
'controller_suffix' => false,
// 关闭URL路由匹配的大小写转换(可选,增强严格性)
'url_convert' => false,
// 关闭默认的路由延迟解析(确保路由规则优先生效)
'delay_route' => false,
];
data/config/app.php 可以存放前端模板中的路由【可以防止出问题】
<?php
use think\facade\Route;
Route::get('/func/set', 'demo/user/get_show');
Route::get('/func/gp', 'demo/user/list');
#配置
Route::get('/func/save', 'myapp/user/show_done');
Route::get('/func/del', 'myapp/user/del');
Route::get('/func/add', 'myapp/user/add_gupiao');
Route::get('/login', 'user/login/index');
Route::get('/register', 'user/register/index');
Route::get('/password', 'user/login/findPassword');
Route::get('/logout', 'user/index/logout');
Route::get('/repassword', 'user/profile/password');
Route::get('/edit', 'user/profile/edit');
Route::get('/avatar', 'user/profile/avatar');
Route::get('/rss', 'myapp/gu/index');
Route::get('/weather', 'myapp/gu/weather');
#上面路由模式
#下面路由 指定主页 创建短链
Route::rule('/', 'demo/index/index', 'GET')->name('home');
Route::rule('s/:short', 'myapp/gu/short', 'GET')->pattern(['short' => '\w+']);
后台路由没有关系 ,后台用于编辑,可以使用后台加密,双密码,相对好一点,或者直接不用后台,使用另一个网址应用连接数据库实现隔离。
模板
<include file=”public@head” /> 在模板里面可以引入多个HTML上面的是在应用目录的public/head.html文件,比如你的应用是demo(default/demo/下面),那么这个就是在 default/public/head.html 非应用下的public(不是 default/demo/public)
Nginx SSL
使用lnmp ssl add添加SSL 用自动签注的SSL需要修改nginx的conf
原来的Nginx添加(其中root /home/wwwroot/xxx.com; 不是thinkphp的public 切记)
location ^~ /.well-known/acme-challenge/ {
allow all;
default_type text/plain;
root /home/wwwroot/xxx.com;
}
然后再:
lnmp restart
lnmp ssl add
然后完成后SSL后请设置,SSL的端口(其中root /home/wwwroot/xxx.com; 请修改成thinkphp的root /home/wwwroot/xxx.com/public; 不然ssl无法访问)
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
server_name acg.wang ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/xxx.com/public;
最后 lnmp restart
数据库
数据库关联单条数据超过3000 条数据 可能会触发PHP memory错误直接502 默认PHP是128MB,如果实在有多个3000条数据关联排序请调整到256MB或者512MB,但是还是请不要关联超过3000条数据再排序。如下面的代码是有问题的:
public function codehistroy(){
return $this->hasOne(HistroyModel::class,"code",'code')->order('create_time','desc');
}
#此处模型 关联排序会极大消耗PHP内存
在功能Model,即非创建关联表的模型(内部调用表的模型)直接初始化!
class Xaa{ 无需 class Xaa extends Model{