thinkphp6学习

composer 安装

composer create-project topthink/think tp

多应用

composer require topthink/think-multi-app

隐藏index.php的.htaccess,文档缺少一个问号


  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

view.php的一些配置
在这里插入图片描述

/**
     * 模板配置参数
     * @var array
     */
    protected $config = [
        'view_path'          => '', // 模板路径
        'view_suffix'        => 'html', // 默认模板文件后缀
        'view_depr'          => DIRECTORY_SEPARATOR,
        'cache_path'         => '',
        'cache_suffix'       => 'php', // 默认模板缓存后缀
        'tpl_deny_func_list' => 'echo,exit', // 模板引擎禁用函数
        'tpl_deny_php'       => false, // 默认模板引擎是否禁用PHP原生代码
        'tpl_begin'          => '{', // 模板引擎普通标签开始标记
        'tpl_end'            => '}', // 模板引擎普通标签结束标记
        'strip_space'        => false, // 是否去除模板文件里面的html空格与换行
        'tpl_cache'          => true, // 是否开启模板编译缓存,设为false则每次都会重新编译
        'compile_type'       => 'file', // 模板编译类型
        'cache_prefix'       => '', // 模板缓存前缀标识,可以动态改变
        'cache_time'         => 0, // 模板缓存有效期 0 为永久,(以数字为值,单位:秒)
        'layout_on'          => false, // 布局模板开关
        'layout_name'        => 'layout', // 布局模板入口文件
        'layout_item'        => '{__CONTENT__}', // 布局模板的内容替换标识
        'taglib_begin'       => '{', // 标签库标签开始标记
        'taglib_end'         => '}', // 标签库标签结束标记
        'taglib_load'        => true, // 是否使用内置标签库之外的其它标签库,默认自动检测
        'taglib_build_in'    => 'cx', // 内置标签库名称(标签使用不必指定标签库名称),以逗号分隔 注意解析顺序
        'taglib_pre_load'    => '', // 需要额外加载的标签库(须指定标签库名称),多个以逗号分隔
        'display_cache'      => false, // 模板渲染缓存
        'cache_id'           => '', // 模板缓存ID
        'tpl_replace_string' => [], //模板字符串替换
        'tpl_var_identify'   => 'array', // .语法变量识别,array|object|'', 为空时自动识别
        'default_filter'     => 'htmlentities', // 默认过滤方法 用于普通标签输出
    ];

中间件
https://www.kancloud.cn/manual/thinkphp6_0/1037493

验证器

try {
	validate(Staff::class)->extend('check')->check($data);
} catch (ValidateException $e) {
	// 验证失败 输出错误信息
	return json(['code' => 1, 'msg' =>  $e -> getError()]);
}

门面,phpstrom提示和无法跳转到对应的方法,加上注释

/**
 * Class Ajax
 * @see \app\common\Ajax
 * @package app\facade
 * @mixin \app\common\Ajax
 */

url助手函数,无法返回字符串,

在这里插入图片描述
url(’/’)->__toString()或者url(’/’)->build()都可以生成url字符串

获取当前的操作名,request方法
在这里插入图片描述

$this->request->action()

json方法->getContent()获取内容
在这里插入图片描述
重定向不跳转,使用send

redirect(url('/'))->send();

使用Spreadsheet导出excel时候在 $writer->save(‘php://output’)后面加上exit();否则导出会需要修复

模型save();

/**
 * 使用表达式设置数据
 * @access public
 * @param string $value 表达式
 * @return Raw
 */
public function raw(string $value): Raw
{
    return new Raw($value);
}

'score' => Db::raw('score+1');

异常处理返回

return Response::create(View::fetch('public/error'));

富文本显示

{$str|raw}

批量新增获取id

$model->saveAll($data)->column('id');

你可能感兴趣的:(学习)