ivanvoitovych / fluffy
Fluffy 框架。基于 Viewi 和 Swoole。
Requires
- ivanvoitovych/dot-di: ~1.0
- viewi/viewi: ^2.0
Requires (Dev)
- swoole/ide-helper: dev-master
README
Fluffy 框架。基于 Viewi 和 Swoole。
尚未准备好投入生产。
命令
在WSL上设置Nginx
php fluffy nginx nutrition.wsl.com
运行服务器
php fluffy server
重新加载服务器
php fluffy reload
监控模式 - 文件更改时运行服务器并重新构建应用程序
php fluffy watch
构建 - 构建应用程序
php fluffy build [环境]
例如
php fluffy build dev
php fluffy build prod
php fluffy build local
安装(创建所有表)
php fluffy install
运行迁移
php fluffy migrate
回滚迁移
php fluffy migrate rollback Application\\Migrations\\Menu\\MenuItemMigration
创建实体模型
php fluffy model create 实体名称 [命名空间]
示例
php fluffy model create UserTokenEntity Auth
生成实体模型存储库、迁移、服务;注册迁移、存储库、服务
php fluffy model build UserTokenEntity Auth
生成控制器
Catalog/ProductController
php fluffy controller create Product Catalog
生成 Viewi 管理页面
php fluffy viewi create [名称] [文件夹] [模型文件夹]
php fluffy viewi create Order Order Sales
计划任务
Application\crontab.php
CronTab::schedule([TestTask::class, 'execute'], '*/5 * * * * *');
中心(Web sockets)
Application\hubs.php
Hubs::mapHub('collect', [CollectHub::class, 'collect']);
<?php namespace Application\Hubs; use Application\Models\CollectModel; class CollectHub { public function collect(CollectModel $message, $data, string $name) { print_r(['CollectHub::collect', $message->date, $data, $name]); } }
websocket.send(JSON.stringify({ route: 'collect', data: { name: 'Viewi', date: 123 } }));
控制器
可选地,BaseController 提供默认响应方法
use Fluffy\Controllers\BaseController
<?php namespace Application\Controllers; use Fluffy\Controllers\BaseController; class TestController extends BaseController { }