varimax / app
varimax 应用程序
v3.2
2024-08-17 07:59 UTC
Requires
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- varimax/crontab: @dev
- varimax/server: @dev
- varimax/varimax: @dev
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.22
- swoole/ide-helper: @dev
Suggests
- ext-json: Required to use JSON.
- ext-openssl: Required to use HTTPS.
- ext-pdo: Required to use MySQL Client.
- ext-pdo_mysql: Required to use MySQL Client.
- ext-redis: Required to use Redis Client.
- ext-swoole: Coroutine-based concurrency library for PHP.
README
开始 安装
composer create-project varimax/app
开发环境
将 .env 文件拖到根目录
内容示例如下
ENV=dev
DEBUG=2
ENV 将加载配置目录 config {ENV}.name
关于 DEBUG 选项项 1 与 2
选择 1 将输出不带错误代码详细信息的错误消息
选择 2 将向客户端输出详细的代码异常消息
路由器
varimax 定义了一些默认路由规则
':*' => ':.+',
':str' => ':[\w-]+',
':int' => ':[1-9]\d+',
':num' => ':[0-9.-]+',
':any' => ':[\w!@$^&+-=|]+',
':hex' => ':[a-f0-9]+',
':hash' => ':[a-z0-9]+',
':uuid' => ':[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'
RESTful API 风格
Method | Path | Action |
------------------------------------------------
GET | /test | index |
GET | /test/(:id) | select |
POST | /test/create | create |
PUT/PATCH | /test/update/(:id) | update |
DELETE | /test/delete/(:id) | delete |
路由
<?php
//公共组
Router::group( ['id' => 'public', 'prefix' => '/', 'namespace' => 'App\Controller'], function () {
Router::any('/', 'Index@index');
Router::any('/test')->call('Test@index');
Router::any('/test/(list:*)/(id:\d+)' )->call('Test@test' );
Router::get('/test/(shop:vip|user)' )->call('Test@shop' ); //only allow vip or user string
Router::get('/test/(shop:vip|user)/(id:|\d+)' )->call('Test@shop' );
});
/**
* 验证组
* @param id 组id
* @param prefix 组前缀
* @param namespace 组命名空间
* @param pipeline 组中间件
*/
Router::group( ['id' => 'permit', 'prefix' => '/', 'namespace' => 'App\Controller', 'pipeline' => [\App\Pipeline\Auth::class,\App\Pipeline\Cors::class]], function () {
//首页
Router::get('/home')->call('Home@index');
/**
* 会员中心
* name: 组名称
* prefix: 当以/开头表示覆盖前缀,否则继承
* namespace: 当以\开头表示覆盖命名空间前缀,否则继承
*/
Router::group(['name'=>'user', 'prefix'=>'/user', 'namespace'=>'User', 'pipeline'=>'App\Pipeline\User'], function(){
Router::get('/list')->call('User@index');
Router::any('/create')->call('User@create');
Router::any('/update')->call('User@update');
Router::any('/delete')->call('User@delete');
});
} );
Varimax 命令
获取 vmc 命令目的地
composer vmc
启动开发服务器 https://:8620
composer dev
PHPUnit 测试代码
composer test
php-cs-fixer 修正为有效代码
compsoer 检查
启动生产环境下的 web 服务器
composer start [application = app]
应用程序命令
创建新控制器
composer app make:controller controllerName
创建新模型
composer app make:model modelName
创建新管道
composer app make:pipeline pipelineName
创建新服务
composer app make:service serviceName
模型命令
从模型模式方法创建数据库表
composer vmc model:schema modelName
关于开发者
姓名:D.C (陶之11)