搜索
系统检测到您的用户名不符合规范:

适用于thinkphp6.0的success、error跳转扩展

浏览:4033 发布日期:2019年09月24日 分类:功能实现 关键字: tp6.0 基类 跳转 success error BaseController
适用于thinkphp6.0的跳转扩展
# thinkphp-jump

适用于thinkphp6.0的跳转扩展

## 安装

~~~php
composer require liliuwei/thinkphp-jump
~~~

## 用法示例

使用 use \liliuwei\think\Jump;

在所需控制器内引用该扩展即可:

下面示例我在框架自带的baseController里引入,以后所有需要使用跳转的类继承自带的基类即可


以下是自带的基类
~~~php
<?php
declare (strict_types = 1);

namespace app;

use think\App;
use think\exception\ValidateException;
use think\Validate;

/**
* 控制器基础类
*/
abstract class baseController
{
/**
* Request实例
* @var \think\Request
*/
protected $request;

/**
* 应用实例
* @var \think\App
*/
protected $app;

/**
* 是否批量验证
* @var bool
*/
protected $batchValidate = false;

/**
* 控制器中间件
* @var array
*/
protected $middleware = [];

/**
* 构造方法
* @access public
* @param App $app 应用对象
*/
public function __construct(App $app)
{
$this->app = $app;
$this->request = $this->app->request;

// 控制器初始化
$this->initialize();
}

// 初始化
protected function initialize()
{}

/**
* 验证数据
* @access protected
* @param array $data 数据
* @param string|array $validate 验证器名或者验证规则数组
* @param array $message 提示信息
* @param bool $batch 是否批量验证
* @return array|string|true
* @throws ValidateException
*/
protected function validate(array $data, $validate, array $message = [], bool $batch = false)
{
if (is_array($validate)) {
$v = new Validate();
$v->rule($validate);
} else {
if (strpos($validate, '.')) {
// 支持场景
list($validate, $scene) = explode('.', $validate);
}
$class = false !== strpos($validate, '\\') ? $validate : $this->app->parseClass('validate', $validate);
$v = new $class();
if (!empty($scene)) {
$v->scene($scene);
}
}

$v->message($message);

// 是否批量验证
if ($batch || $this->batchValidate) {
$v->batch(true);
}

return $v->failException(true)->check($data);
}
use \liliuwei\think\Jump;
}

~~~

这里继承baseController后即可使用success、error、redirect、result方法

~~~php
<?php

namespace app\admin\controller;
class Index extends \app\baseController
{
public function demo1()
{
return $this->success('success');
}

public function demo2()
{
return $this->error('error');
}

public function demo3()
{
return $this->redirect('index/index');
}

public function demo4()
{
return $this->result(['username' => 'liliuwei', 'sex' => '男']);
}
}
~~~

~~~
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
小小书生
积分:1973 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /