be-reborn / service
一个参数效验扩展
4.0.9
2020-08-20 10:44 UTC
Requires
- php: >= 7.1
- ext-curl: *
- ext-gd: *
- ext-iconv: *
- ext-json: *
- ext-libxml: *
- ext-mbstring: *
- ext-openssl: *
- ext-pdo: *
- ext-simplexml: *
- ext-xml: *
- qiniu/php-sdk: ^7.2
- swoole/ide-helper: @dev
README
介紹
瞎写的,自己用的
架構
瞎几吧乱抄的, 依赖以下扩展
phpredis
swoole
inotify
安裝教程
新建 $dir/composer.json
新建 $dir/app/controller
新建 $dir/app/model
新建 $dir/app/middleware
新建 $dir/commands
新建 $dir/components
新建 $dir/config
新建 $dir/routes
添加composer 内容
{
"autoload": {
"psr-4": {
"App\\": "app"
},
"files": [
]
},
"require": {
"php": ">= 7.1",
},
"require-dev": {
"forset/forset": "dev-master",
"swoole/ide-helper": "@dev"
}
}
执行 composer update
使用說明
新建 $dir/routes/web.php
<?php
use BeReborn\Route\Router;
/** @var Router $router */
$router->get('index', 'SiteController@index');
$router->post('index', 'SiteController@index');
$router->any('index', 'SiteController@index');
$router->delete('index', 'SiteController@index');
$router->put('index', 'SiteController@index');
$options = [
'prefix' => '', //前缀
'namespace' => '', //Controller使用的命名空间如 namespace='server'则访问 app\controller\server\TestController
'filter' => [ // 过滤请求用的, 参数效验同 model写法
'grant' => [] , //权限效验回调函数
'header' => [ //效验请求头所需数据
[['token', 'user', 'time', 'source'], 'required'],
[['token', 'source'], 'string'],
[['user', 'time'], 'int', 'maxLength' => 32],
],
'body' => [ //效验请求体所需数据
[['token', 'user', 'time', 'source'], 'required'],
[['token', 'source'], 'string'],
[['user', 'time'], 'int', 'maxLength' => 32],
]
],
'middleware' => '', // 中间件
'options' => '', // ajax跨域请求处理
];
$router->group($options, function (\BeReborn\Route\Router $router){
$router->get('index', 'SiteController@index');
$router->post('index', 'SiteController@index');
$router->any('index', 'SiteController@index');
$router->delete('index', 'SiteController@index');
$router->put('index', 'SiteController@index');
});
新建 $dir/execfile并添加内容
<?php
error_reporting(E_ALL & ~E_NOTICE);
define('APP_PATH', __DIR__);
define('DISPLAY_ERRORS', TRUE);
define('DEBUG', TRUE);
define('DB_EMPTY', 3001);
define('DB_ERROR', 3002);
define('PARAM_NOT_EXISTS', 4001);
define('PARAM_EMPTY', 4004);
//ini_set('memory_limit','8192M');
use BeReborn\Web\Application;
require_once __DIR__ . '/vendor/autoload.php';
$config = require_once __DIR__ . '/config/configure.php';
$application = new Application($config);
$snooze = $application->getSwooleServer($argv);
if (!$snooze) {
return;
}
$snooze->start();
添加配置项内容 $dir/config/configure.php
<?php
启动 php $dir/execfile 或 php $dir/execfile start
重启 php $dir/execfile restart
停止 php $dir/execfile stop
Command
注册命令
<?php
use BeReborn\Console\Command;
use BeReborn\Console\Dtl;
class exranpk extends Command{
public $command = 'exmple:test';
public $description = '任务描述';
public $dataFile = '/usr/local/config.json';
public $dataType = 'json';
public function handler(Dtl $dtl)
{
}
}
使用
php artisan command_name --key=o --key=b --key=v
參與貢獻
- Fork 本倉庫
- 新建 Feat_xxx 分支
- 提交代碼
- 新建 Pull Request
碼雲特技
- 使用 Readme_XXX.md 來支持不同的語言,例如 Readme_en.md, Readme_zh.md
- 碼雲官方博客 blog.gitee.com
- 妳可以 https://gitee.com/explore 這個地址來了解碼雲上的優秀開源項目
- GVP 全稱是碼雲最有價值開源項目,是碼雲綜合評定出的優秀開源項目
- 碼雲官方提供的使用手冊 https://gitee.com/help
- 碼雲封面人物是壹檔用來展示碼雲會員風采的欄目 https://gitee.com/gitee-stars/