You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.3 KiB
PHTML
59 lines
1.3 KiB
PHTML
2 years ago
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
/**
|
||
|
* This file is part of Hyperf.
|
||
|
*
|
||
|
* @link https://www.hyperf.io
|
||
|
* @document https://hyperf.wiki
|
||
|
* @contact group@hyperf.io
|
||
|
* @license https://github.com/hyperf/hyperf/blob/master/LICENSE
|
||
|
*/
|
||
|
namespace App\Controller;
|
||
|
|
||
|
use App\Constants\ResultCode;
|
||
|
use App\Helper\Result;
|
||
|
use Hyperf\Context\Context;
|
||
|
use Hyperf\Di\Annotation\Inject;
|
||
|
use Hyperf\HttpServer\Contract\RequestInterface;
|
||
|
use Hyperf\HttpServer\Contract\ResponseInterface;
|
||
|
use Psr\Container\ContainerInterface;
|
||
|
|
||
|
abstract class AbstractController
|
||
|
{
|
||
|
/**
|
||
|
* @Inject
|
||
|
* @var ContainerInterface
|
||
|
*/
|
||
|
protected $container;
|
||
|
|
||
|
/**
|
||
|
* @Inject
|
||
|
* @var RequestInterface
|
||
|
*/
|
||
|
protected $request;
|
||
|
|
||
|
/**
|
||
|
* @Inject
|
||
|
* @var ResponseInterface
|
||
|
*/
|
||
|
protected $response;
|
||
|
|
||
|
protected function success(string $message = '', int $code = ResultCode::SUCCESS): Result
|
||
|
{
|
||
|
return $this->respond($code, $message);
|
||
|
}
|
||
|
|
||
|
protected function respond(int $code, string $message): Result
|
||
|
{
|
||
|
$data = Context::get('respondData', []);
|
||
|
return new Result($code, $message, $data);
|
||
|
}
|
||
|
|
||
|
protected function setData(array $data): AbstractController
|
||
|
{
|
||
|
Context::set('respondData', $data);
|
||
|
return $this;
|
||
|
}
|
||
|
}
|