{"id":36397498,"url":"https://github.com/yogcloud/fast-hyperf","last_synced_at":"2026-01-11T16:00:39.142Z","repository":{"id":39366458,"uuid":"412860077","full_name":"YogCloud/fast-hyperf","owner":"YogCloud","description":"hyperf rapid development components / 一把梭快速开发组件 微服务接口生成","archived":false,"fork":false,"pushed_at":"2023-02-21T03:30:49.000Z","size":102,"stargazers_count":19,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-17T15:47:30.599Z","etag":null,"topics":["hyperf","php","swoole"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YogCloud.png","metadata":{"files":{"readme":"README-cn.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-02T17:04:56.000Z","updated_at":"2024-05-22T06:28:05.000Z","dependencies_parsed_at":"2026-01-11T16:00:36.580Z","dependency_job_id":null,"html_url":"https://github.com/YogCloud/fast-hyperf","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/YogCloud/fast-hyperf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YogCloud%2Ffast-hyperf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YogCloud%2Ffast-hyperf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YogCloud%2Ffast-hyperf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YogCloud%2Ffast-hyperf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YogCloud","download_url":"https://codeload.github.com/YogCloud/fast-hyperf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YogCloud%2Ffast-hyperf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28312086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T14:58:17.114Z","status":"ssl_error","status_checked_at":"2026-01-11T14:55:53.580Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hyperf","php","swoole"],"created_at":"2026-01-11T16:00:20.714Z","updated_at":"2026-01-11T16:00:39.122Z","avatar_url":"https://github.com/YogCloud.png","language":"PHP","readme":"# Fast-Hyperf\n[![Latest Stable Version](http://poser.pugx.org/yogcloud/framework/v)](https://packagist.org/packages/yogcloud/framework) [![Total Downloads](http://poser.pugx.org/yogcloud/framework/downloads)](https://packagist.org/packages/yogcloud/framework) [![Latest Unstable Version](http://poser.pugx.org/yogcloud/framework/v/unstable)](https://packagist.org/packages/yogcloud/framework) [![License](http://poser.pugx.org/yogcloud/framework/license)](https://packagist.org/packages/yogcloud/framework) [![PHP Version Require](http://poser.pugx.org/yogcloud/framework/require/php)](https://packagist.org/packages/yogcloud/framework)\n\nHyperf 的一把梭组件\n\n\n```php\ncomposer require yogcloud/framework\n```\n\n\n# 功能\n提供从 `Controller` `Request` `Model` `Service` `Interface` 一整套生成命令\n```php\n$ php bin/hyperf\nfs\n    fs:controller        生成 controller, 默认生成于 app/Controller 目录下\n    fs:model             生成 Model, 默认生成于 app/Model 目录下 自动生成 Service,Interface\n    fs:request           生成 request, 默认生成于 app/Request 目录下\n    fs:service           生成 service, 默认生成于 app/Service 目录下\n    fs:serviceInterface  生成 service Interface, 默认生成于 app/Service 目录下\nserver\n    server:restart       Restart hyperf servers.\n    server:start         Start hyperf servers.\n    server:stop          Stop hyperf servers.\n```\n\n\n一键生成代码 快速CRUD\n```php\nphp bin/hyperf.php fs:model test\n\nModel App\\Model\\Test was created.\nsuccess:[/demo/app/Rpc/TestServiceInterface.php]\nsuccess:[/demo/app/Service/TestService.php]\n```\n\n生成代码\n\n```php\n    /**\n     * Query single entry - by ID.\n     * @param int $id ID\n     * @param array|string[] $columns Query field\n     * @return array\n     */\n    public function getOneById(int $id, array $columns = ['*']): array;\n\n    /**\n     * Query single - according to the where condition.\n     * @param array $where\n     * @param array|string[] $columns\n     * @param array Optional ['orderByRaw'=\u003e 'id asc', 'with' = []]\n     * @return array\n     */\n    public function findByWhere(array $where, array $columns=['*'], array $options = []): array;\n\n    /**\n     * Query multiple - by ID.\n     * @param array $ids ID\n     * @param array|string[] $columns\n     * @return array\n     */\n    public function getAllById(array $ids, array $columns = ['*']): array;\n\n    /**\n     * Query multiple items according to where criteria.\n     * @param array $where\n     * @param array $columns\n     * @param array  ['orderByRaw'=\u003e 'id asc', 'with' = [], 'selectRaw' =\u003e 'count(*) as count']\n     * @return array\n     */\n    public function getManyByWhere(array $where, array $columns = ['*'], array $options = []): array;\n\n    /**\n     * Multiple pages.\n     * @param array $where\n     * @param array|string[] $columns\n     * @param array $options  ['orderByRaw'=\u003e 'id asc', 'perPage' =\u003e 15, 'page' =\u003e null, 'pageName' =\u003e 'page']\n     * @return array\n     */\n    public function getPageList(array $where, array $columns = ['*'], array $options = []): array;\n\n    /**\n     * Add single.\n     * @param array $data\n     * @return int\n     */\n    public function createOne(array $data): int;\n\n    /**\n     * Add multiple.\n     * @param array $data\n     * @return bool\n     */\n    public function createAll(array $data): bool;\n\n    /**\n     * Modify single entry - according to ID.\n     * @param int $id id\n     * @param array $data\n     * @return int\n     */\n    public function updateOneById(int $id, array $data): int;\n\n    /**\n     * Modify multiple - according to ID.\n     * @param array $where\n     * @param array $data\n     * @return int\n     */\n    public function updateByWhere(array $where, array $data): int;\n\n    /**\n     * Delete - Single.\n     * @param int $id\n     * @return int\n     */\n    public function deleteOne(int $id): int;\n\n    /**\n     * Delete - multiple.\n     * @param array $ids\n     * @return int\n     */\n    public function deleteAll(array $ids): int;\n\n    /**\n     * Handle native SQL operations.\n     * @param mixed $raw\n     * @param array $where\n     * @return array\n     */\n    public function rawWhere($raw, array $where = []): array;\n\n    /**\n     * Get a single value\n     * @param string $column\n     * @param array $where\n     * @return string\n     */\n    public function valueWhere(string $column, array $where): string;\n```\n\n## 多应用\n在 主项目外生成\n\n设计之初就是为了多应用多功能模块\n\n因为`Hyperf/Utils/CodeGen`需要读取`composer-psr4`所以需要添加生成的路径\n```json\n\"autoload\": {\n    \"psr-4\": {\n        \"App\\\\\": \"src/\", // 默认情况\n        \"Demo\\\\Plugin\\\\Test\": \"plugin/demo/test/src/\" // 自定义插件/组件\n    }\n}\n```\n添加之后需要更新一下`composer`缓存\n```php\ncomposer dump-autoload -o\n```\n生成\n```php\nphp bin/hyperf fs:model test --path plugin/demo/test/src\n```\n\n生成的TestService可方便操作数据免去大部分CRUD时间\n\n\u003e 生成Service时 `--cache false` 可不启用缓存(默认启用)\n\n缓存会请求后生成, 更新/删除 删除缓存(默认9000TTL,不会一直占用资源)\n\n## 技巧\n期待你们发现其他小技巧欢迎Pr\n\n1. `SelectRaw`\n```php\n'selectRaw' =\u003e 'sum(`id`) as sum'\n```\n2. `闭包Where查询`\n```php\n[function ($q) {\n    $q-\u003ewhere('id', '=', 1)-\u003eorWhere('id', '=', 2);\n}]\n```\n3. `分表查询`\n```php\n'sub_table' =\u003e '2022-06-10', // 这里传递日期 parseTableStrategy 回去解析你当前选择的分表策略进行解析对应的key\n// 选择hash策略可以传ID\n// 选择取余策略可以传关键key\n```\n\n# License\nApache License Version 2.0, http://www.apache.org/licenses/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogcloud%2Ffast-hyperf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyogcloud%2Ffast-hyperf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogcloud%2Ffast-hyperf/lists"}