{"id":20112424,"url":"https://github.com/andy87/yii2-dnk-generator","last_synced_at":"2025-08-13T05:14:49.741Z","repository":{"id":97687352,"uuid":"608627611","full_name":"andy87/yii2-dnk-generator","owner":"andy87","description":"Personal generator for follow `template path` pattern","archived":false,"fork":false,"pushed_at":"2023-03-15T23:23:46.000Z","size":285,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T18:50:56.421Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andy87.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-03-02T12:14:23.000Z","updated_at":"2023-03-02T12:15:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"6244bbd0-148b-432c-957c-956f9142e465","html_url":"https://github.com/andy87/yii2-dnk-generator","commit_stats":{"total_commits":191,"total_committers":1,"mean_commits":191.0,"dds":0.0,"last_synced_commit":"2348d23c668efc8804a231ab34a6d950b8b782ad"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andy87/yii2-dnk-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy87%2Fyii2-dnk-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy87%2Fyii2-dnk-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy87%2Fyii2-dnk-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy87%2Fyii2-dnk-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andy87","download_url":"https://codeload.github.com/andy87/yii2-dnk-generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy87%2Fyii2-dnk-generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270183606,"owners_count":24541341,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-13T18:20:12.798Z","updated_at":"2025-08-13T05:14:49.681Z","avatar_url":"https://github.com/andy87.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# DNK\n\nPersonal library on `Yii2 advanced` for generate files pack and follow pattern: `template path`, `adapter` and other. \n\n### Navigation.\n* ### [Description](#description)\n  * [Models \u0026 Forms](#description-models-forms)\n  * [Services](#description-services)\n  * [Controllers](#description-controllers)\n  * [Resources](#description-resources)\n* ### [Use](#usage-examples)\n  * [dnk/setup](#command-setup)\n  * [dnk/run](#command-run)\n  * [dnk/gii-model](#command-gii-model)\n  * [dnk/gii-crud](#command-gii-crud)\n  * [dnk/list](#command-list)\n  * [dnk/gen-models](#command-gen-models)\n  * [dnk/gen-controllers](#command-gen-controllers)\n  * [dnk/gen-services](#command-gen-services)\n  * [dnk/gen-tests](#command-gen-tests)\n  * [dnk/gen-backend-views](#command-gen-backend-views)\n  * [dnk/gen-backend-views](#command-gen-backend-views)\n  * [dnk/gen-frontend-views](#command-gen-frontend-views)\n* ### Profit\n  * [Service](#profit-services)\n  * [Resource](#profit-resources)\n* ### [Setup](#setup)\n  * [composer](#setup-composer)\n  * [config](#setup-config)\n\n\n## Description\n\nLegend: \n* S_P\u0026M \u003e == set `property` \u0026 `methods` in to\n* Env:`all` == all environment ( common/console/backend/frontend )\n* Env:`backend` == environment `backend`\n* Env:`frontend` == environment `frontend`\n\n\u003ca name=\"description-models-forms\"\u003e\u003c/a\u003e\n### Models \u0026 Forms.\n\n```\n📄 common/components/core/BaseModel.php            // S_P\u0026M \u003e all children models on Env:`all`\n|\n└─📄 common/models/sources/__Model__Source.php     // model generated by `gii`, S_P\u0026M \u003e all children models on Env:all\n  |\n  ├─📄 common/models/items/__Model__.php           // S_P\u0026M \u003e models by part `__model__` on Env:`all`\n  |  |\n  | ├─📄 backend/models/items/__Model__.php        // S_P\u0026M \u003e `model` by part `__model__` on Env:`backend`\n  | | └─📄 backend/models/forms/__Model__Form.php  // S_P\u0026M \u003e `form` on model `backend/models/items/__Model__` on Env:`backend`\n  | |\n  | └─📄 frontend/models/items/__Model__.php       // S_P\u0026M \u003e `model` by part `__model__` on Env:`frontend`\n  |   └─📄 frontend/models/forms/__Model__Form.php // S_P\u0026M \u003e `form` on model `frontend/models/items/__Model__` on Env:`frontend`\n  |\n  └─📄 common/models/search/__Model__Search.php      // model for generated by `gii`, S_P\u0026M \u003e all search children models on Env:all\n    ├─📄 backend/models/search/__Model__Search.php   // S_P\u0026M \u003e `search model` by part `__model__` on Env:`backend`\n    └─📄 frontend/models/search/__Model__Search.php  // S_P\u0026M \u003e `search model` by part `__model__` on Env:`frontend`\n```\n\n\u003ca name=\"description-services\"\u003e\u003c/a\u003e\n### Services.\n\n```\n📄 common/components/core/BaseService.php              // S_P\u0026M \u003e all services on Env:`all`\n|\n├─📄 backend/components/services/__Model__Service.php  // S_P\u0026M \u003e services by part `__Model__` on Env:`backend`\n|\n└─📄 frontend/components/services/__Model__Service.php // S_P\u0026M \u003e services by part `__Model__` on Env:`frontend`\n```\n\n\u003ca name=\"description-controllers\"\u003e\u003c/a\u003e\n### Controllers.\n\n```\n📄 common/components/core/BaseController.php                 // S_P\u0026M \u003e all controllers on Env:`all`\n|\n├─📄 backend/components/controllers/BackendController.php    // S_P\u0026M \u003e all controllers on Env:`backend`\n| └─📄 backend/components/controllers/CrudController.php     // S_P\u0026M \u003e all controllers generated with `crud` on Env:`backend`\n|   └─📄 backend/controllers/crud/__Model__Controller.php    // S_P\u0026M \u003e generated `crud` controllers for moled `__Model__` on Env:`backend`\n|\n└─📄 frontend/components/controllers/FrontendController.php  // S_P\u0026M \u003e all controllers on Env:`frontend`\n  └─📄 frontend/controllers/__Model__Controller.php          // S_P\u0026M \u003e controllers for moled `__Model__` on Env:`frontend`\n```\n\n\u003ca name=\"description-resources\"\u003e\u003c/a\u003e\n### Resources.\n\n```\n📄 common/components/core/BaseResource.php                         // S_P\u0026M \u003e all resources on Env:`all` \n|\n├─📄 backend/components/core/resources/BackendResource.php         // S_P\u0026M \u003e all resources on Env:`backend`\n| |\n| ├─📄 backend/components/resources/CrudListResource.php          // S_P\u0026M \u003e all resources for view `index` on Env:`backend`\n| | └─📄 backend/resources/__model__/__Model__ListResource.php    // S_P\u0026M \u003e resources for moled `__Model__` on view `index` Env:`backend`\n| |\n| ├─📄 backend/components/resources/CrudReadResource.php           // S_P\u0026M \u003e all resources for view `view` on Env:`backend`\n| | └─📄 backend/resources/__model__/__Model__ReadResource.php     // S_P\u0026M \u003e resources for moled `__Model__` on view `read` Env:`backend`\n| |\n| └─📄 backend/components/resources/CrudUpdateResource.php         // S_P\u0026M \u003e all resources for view `update` on Env:`backend`\n|   └─📄 backend/resources/__model__/__Model__UpdateResource.php   // S_P\u0026M \u003e resources for moled `__Model__` on view `update` Env:`backend`\n|\n└─📄 frontend/components/core/resources/FrontendResource.php       // S_P\u0026M \u003e all resources on Env:`frontend` \n  |\n  ├─📄 frontend/resources/ReadResource.php                         // S_P\u0026M \u003e all resources for view `view` on Env:`frontend`\n  | └─📄 frontend/resources/__model__/__Model__ReadResource.php    // S_P\u0026M \u003e resources for moled `__Model__` on view `read` Env:`frontend`\n  |\n  └─📄 frontend/resources/ListResource                             // S_P\u0026M \u003e all resources for view `list` on `frontend` environment\n    └─📄 frontend/resources/__model__/__Model__ListResource.php    // S_P\u0026M \u003e resources for moled `__Model__` on view `list` Env:`frontend`\n```\n\n\n\n## Usage/Examples.\n\n\u003ca name=\"command-setup\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/setup `bool`\n```\n\n| Parameter    | Type   | Description                                            |\n|:-------------|:-------|:-------------------------------------------------------|\n| `overwrite`  | `bool` | **optional**. overwrite exists file. defaulkt: `false` |\n\n#### description\n\nGenerate files:\n* `common/components/Entity.php` - service parts with labels\n* `common/components/db/Setup.php` - Data base config: CHARACTER, COLLATE, ENGINE\n* `common/components/db/Tables.php` - class with table names used Part::CONSTANT_NAME\n* `common/components/resources/GridViewResource.php` - GridView Resources ( search, dataProvider )\n* `backend/components/controllers/BackendController.php` - Base backend controller with common methods\n* `frontend/components/controllers/FrontendController.php` - Base frontend controller with common methods\n* `common/components/resources/crud/CreateResource.php` - common resource for view create\n* `common/components/resources/crud/ListResource.php` - common resource for view list(index)\n* `common/components/resources/crud/ReadResource.php` - common resource for view read(view)\n* `common/components/resources/crud/UpdateResource.php` - common resource for view update\n_____\n\n\n\u003ca name=\"command-run\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/run `string` `bool`\n```\n\n| Parameter | Type     | Description                                                                       |\n|:----------| :------- |:----------------------------------------------------------------------------------|\n| `entity`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\ngenerate basic file pack:\n\n\n#### description\n\n - **console/migration**\n   - migration `console/migration/m000000_000000_create_table__user.php` [template](src/templates/console/migrations/migration.tpl)\n  \n\n - **common/models**\n   - common-model-source `common/models/sources/UserSource.php` [template](src/templates/common/models/sources/common-model-source.tpl) \n   - common-model-item `common/models/items/User.php` [template](src/templates/common/models/items/common-model-item.tpl) \n   - common-model-search `common/models/search/UserSearch.php` [template](src/templates/common/models/search/common-model-search.tpl)\n\n\n - **common/services**\n   - common-service `common/services/UserService.php` [template](src/templates/common/services/common-service.tpl)\n\n\n - **backend/models**\n   - backend-model-item `backend/models/items/User.php` [template](src/templates/backend/models/items/backend-model-item.tpl)\n   - backend-model-form `backend/models/forms/UserForm.php` [template](src/templates/backend/models/forms/backend-model-form.tpl)\n   - backend-model-search `backend/models/search/UserSearch.php` [template](src/templates/backend/models/search/backend-model-search.tpl)\n\n\n - **backend/services**\n   -  backend-service `backend/services/UserService.php` [template](src/templates/backend/services/backend-service.tpl)  \n\n\n - **backend/resources**\n   - backend-create-resource `backend/resources/user/UserCreateResource.php` [template](src/templates/backend/resources/model/backend-create-resource.tpl)\n   - backend-list-resource `backend/resources/user/UserListResource.php` [template](src/templates/backend/resources/model/backend-list-resource.tpl)\n   - backend-list-resource `backend/resources/user/UserReadResource.php` [template](src/templates/backend/resources/model/backend-list-resource.tpl)\n   - backend-update-resource `backend/resources/user/UserUpdateResource.php` [template](src/templates/backend/resources/model/backend-update-resource.tpl)\n\n\n - **backend/controller**\n   - backend-model-controller `backend/controller/cruds/UserController.php` [template](src/templates/backend/controllers/cruds/backend-model-controller.tpl)\n\n - **backend/views**\n   - backend-views-form `backend/views/user/_form-user.php` [template](src/templates/backend/views/model/_form-model.tpl)\n   - backend-views-create `backend/views/user/user-create.php` [template](src/templates/backend/views/model/model-create.tpl)\n   - backend-views-update `backend/views/user/user-update.php` [template](src/templates/backend/views/model/model-update.tpl)\n   - backend-views-read `backend/views/user/user-read.php` [template](src/templates/backend/views/model/model-read.tpl)\n   - backend-views-list `backend/views/user/user-list.php` [template](src/templates/backend/views/model/model-list.tpl)\n\n\n - **frontend/models**\n   - frontend-model-item `frontend/models/items/User.php` [template](src/templates/frontend/models/items/frontend-model-item.tpl)\n   - frontend-model-form `frontend/models/forms/UserForm.php` [template](src/templates/frontend/models/forms/frontend-model-form.tpl)\n   - frontend-model-search `frontend/models/search/UserSearch.php` [template](src/templates/frontend/models/search/frontend-model-search.tpl)\n\n\n - **frontend/service**\n   - frontend-service `frontend/service/UserService.php` [template](src/templates/frontend/services/frontend-service.tpl)\n\n\n - **frontend/resources**\n   - frontend-list-resource `frontend/resources/user/UserListResource.php` [template](src/templates/frontend/resources/model/frontend-list-resource.tpl)\n   - frontend-read-resource`frontend/resources/user/UserReadResource.php` [template](src/templates/frontend/resources/model/frontend-read-resource.tpl)\n\n\n - **frontend/controllers**\n   - frontend-model-controller `frontend/consrollers/UserController.php` [template](src/templates/frontend/controllers/frontend-model-controller.tpl)\n \n - **frontend/views**\n    - frontend-views-read `frontend/views/user/user-read.php` [template](src/templates/frontend/views/model/model-read.tpl)\n    - frontend-views-list `frontend/views/user/user-list.php` [template](src/templates/frontend/views/model/model-list.tpl)\n_____\n\n\u003ca name=\"command-gii-model\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gii-model `string` `bool`\n```\n\n| Parameter | Type     | Description   |\n|:----------| :------- |:--------------|\n| `entity`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate gii `model` for select table(part).\n\n\\* - generate list from config `parts`\n\n#### Examples\n\n```bash\nphp yii dnk/gii-model user\nphp yii dnk/gii-model *\n```\n\nalias\n```bash\nphp yii gii/model\n```\n______\n\n\n\u003ca name=\"command-gii-crud\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gii-crud `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate gii `crud` for select table(part).  \n\\* - generate list from config `parts`\n\n#### Examples\n\n```bash\nphp yii dnk/gii-crud user\nphp yii dnk/gii-crud *\n```\nalias `php yii gii/crud`\n______\n\n\n\u003ca name=\"command-list\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/list `string` `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `map`     | `string` | **Required**. list of files to generate |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate selected fileType(list fileType) for needle table(part).\n\n\n#### description\n\n\n##### Generate once file.\n\n```bash\nphp yii dnk/list `string` `string` `bool`\n```\n\n| Parameter   | Type     | Description                                                                       |\n|:------------| :------- |:----------------------------------------------------------------------------------|\n| `entiry`    | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `map`       | `string` | **Required**. map of file types                                                   |\n| `overwrite` | `bool` | **optional**. overwrite exists file. default: `false`                             |\n\n\\* - generate list from config `parts`\n\ngenerate only: `common/services/UserService.php` [template](src/templates/common/services/common-service.tpl)\n\n\n##### Generate selected files.\n\n```bash\nphp yii dnk/list user common-services,common-model-source,frontend-service\n```\n\ngenerate file list:\n- `common/services/UserService.php` [template](src/templates/common/services/common-service.tpl)\n- `common/models/sources/UserSource.php` [template](src/templates/common/models/sources/common-model-source.tpl)\n- `frontend/service/UserService.php` [template](src/templates/frontend/services/frontend-service.tpl)\n______\n\n\n\u003ca name=\"command-gen-models\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gen-models `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate `model` files for needle table(part).\n\n- **common/models**\n    - common-model-source `common/models/sources/UserSource.php` [template](src/templates/common/models/sources/common-model-source.tpl)\n    - common-model-item `common/models/items/User.php` [template](src/templates/common/models/items/common-model-item.tpl)\n\n- **backend/models**\n    - backend-model-item `backend/models/items/User.php` [template](src/templates/backend/models/items/backend-model-item.tpl)\n    - backend-model-form `backend/models/forms/UserForm.php` [template](src/templates/backend/models/forms/backend-model-form.tpl)\n\n- **frontend/models**\n    - frontend-model-item `frontend/models/items/User.php` [template](src/templates/frontend/models/items/frontend-model-item.tpl)\n    - frontend-model-form `frontend/models/forms/UserForm.php` [template](src/templates/frontend/models/forms/frontend-model-form.tpl)\n_____\n\n\n\u003ca name=\"command-gen-controllers\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gen-controllers `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate `controller` files for needle table(part).\n\n- **backend/controller**\n    - backend-model-controller `backend/controller/cruds/UserController.php` [template](src/templates/backend/controllers/cruds/backend-model-controller.tpl)\n\n- **frontend/controllers**\n    - frontend-model-controller `frontend/consrollers/UserController.php` [template](src/templates/frontend/controllers/frontend-model-controller.tpl)\n_____\n\n\n\u003ca name=\"command-gen-services\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gen-services `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate `service` files for needle table(part).\n\n- **common/services**\n   - common-service `common/services/UserService.php` [template](src/templates/common/services/common-service.tpl)\n\n- **backend/services**\n   -  backend-service `backend/services/UserService.php` [template](src/templates/backend/services/backend-service.tpl)\n\n- **frontend/service**\n   - frontend-service `frontend/service/UserService.php` [template](src/templates/frontend/services/frontend-service.tpl)\n_____\n\n\n\u003ca name=\"command-gen-tests\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gen-tests `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate `test` files for needle table(part).\n\nExample:\n```bash\nphp yii dnk/gen-tests user\n```\n\n- **common/test/unit/**\n   - service `common/tests/unit/services/UserServiceTest.php` [template](src/templates/common/tests/unit/services/common-test-unit-service.tpl)\n   - item `common/tests/unit/models/items/UserTest.php` [template](src/templates/common/tests/unit/models/items/common-test-unit-model-item.tpl)\n\n- **backend/test/unit/**\n    - service `backend/tests/unit/services/UserServiceTest.php` [template](src/templates/backend/tests/unit/services/backend-test-unit-service.tpl)\n    - item `backend/tests/unit/models/items/UserTest.php` [template](src/templates/backend/tests/unit/models/items/backend-test-unit-model-item.tpl)\n    - form `backend/tests/unit/models/items/UserFormTest.php` [template](src/templates/backend/tests/unit/models/forms/backend-test-unit-model-form.tpl)\n\n- **frontend/test/unit/**\n    - service `frontend/tests/unit/services/UserServiceTest.php` [template](src/templates/frontend/tests/unit/services/frontend-test-unit-service.tpl)\n    - item `frontend/tests/unit/models/items/UserTest.php` [template](src/templates/frontend/tests/unit/models/items/frontend-test-unit-model-item.tpl)\n    - form `frontend/tests/unit/models/items/UserFormTest.php` [template](src/templates/frontend/tests/unit/models/forms/frontend-test-unit-model-form.tpl)\n_____\n\n\n\u003ca name=\"command-gen-backend-service\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gen-backend-service `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate `service` files for needle table(part).\n\n- **common/services**\n   - common-service `common/services/UserService.php` [template](src/templates/common/services/common-service.tpl)\n\n- **backend/services**\n   -  backend-service `backend/services/UserService.php` [template](src/templates/backend/services/backend-service.tpl)\n\n- **frontend/service**\n   - frontend-service `frontend/service/UserService.php` [template](src/templates/frontend/services/frontend-service.tpl)\n_____\n\n\n\u003ca name=\"command-gen-backend-views\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gen-backend-views `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate `views` files for needle table(part).\n\n- **backend/views**\n    - backend-views-form `backend/views/user/_form-user.php` [template](src/templates/backend/views/model/_form-model.tpl)\n    - backend-views-create `backend/views/user/user-create.php` [template](src/templates/backend/views/model/model-create.tpl)\n    - backend-views-update `backend/views/user/user-update.php` [template](src/templates/backend/views/model/model-update.tpl)\n    - backend-views-read `backend/views/user/user-read.php` [template](src/templates/backend/views/model/model-read.tpl)\n    - backend-views-list `backend/views/user/user-list.php` [template](src/templates/backend/views/model/model-list.tpl)\n\nalias `php yii dnk/list user backend-views-form,backend-views-create,backend-views-update,backend-views-read,backend-views-list`\n_____\n\n\n\u003ca name=\"command-gen-frontend-views\"\u003e\u003c/a\u003e\n### command  \n\n```bash\nphp yii dnk/gen-frontend-views `string` `bool`\n```\n\n| Parameter | Type     | Description                            |\n|:----------| :------- |:---------------------------------------|\n| `entiry`  | `string` | **Required**. model/table to work with \u003c/br\u003e * for use list fron property `parts` |\n| `overwrite`  | `bool` | **optional**. overwrite exists file. default: `false` |\n\nGenerate `views` files for needle table(part).\n\n\n- **frontend/views**\n    - frontend-views-read `frontend/views/user/user-read.php` [template](src/templates/frontend/views/model/model-read.tpl)\n    - frontend-views-list `frontend/views/user/user-list.php` [template](src/templates/frontend/views/model/model-list.tpl)\n\nalias\n```bash\nphp yii dnk/list user frontend-views-read,frontend-views-list\n```\n_____\n\n\n\n# Profit.  \n\n\u003ca name=\"profit-services\"\u003e\u003c/a\u003e\n## Service profit  \n\n### Example for model `User`\n\nonce endpoint for creating on frontend, backend \u0026 tests\n```\ncommon/UserService::create(UserForm $userForm);\n\nbackend/controllers/UserController {\n   action create {\n      if ($this-\u003erequest-\u003eisPost)\n      {\n         (new backend/UserService())-\u003ecreate($this-\u003erequest-\u003epost());\n      }\n   }\n}\n\nfrontend/controllers/UserController {\n   action create {\n      if ($this-\u003erequest-\u003eisPost)\n      {\n         (new frontend/UserService())-\u003ecreate($this-\u003erequest-\u003epost());\n      }\n   }\n}\n\nfrontend/controllers/api/v1/UserController {\n   action create {\n      if ($this-\u003erequest-\u003eisPost)\n      {\n         (new frontend/UserService())-\u003ecreate($this-\u003erequest-\u003epost());\n      }\n   }\n}\n\n\n// Test for all controllers...\n\ntests/unit/user/CreateTest {\n   test{\n      $userForm = new UserForm();\n      (new common/UserService())-\u003ecreate($userForm);\n   }\n}\n```\n\n\u003ca name=\"profit-resources\"\u003e\u003c/a\u003e\n## Resource Profit  \n\n\n```\nexample:\nfrontend/resources/user/UsereViewProfileResources {\n   public const TEMPLATE = 'user-view-profile';\n   \n   pub string $display_name;\n   pub string $age;\n   \n   __construct($user) {\n      $this-\u003edisplay_name = $user-\u003ename;\n      $this-\u003eage = $user-\u003eage;\n      // ... other code\n   }\n}\n\nfrontend/controllers/UserController {\n   action viewProfile(int $id) {\n      $user = new (UserService())-\u003efindByID($id);\n      $R = new UsereViewProfileResources($user);\n      \n      return $R-\u003econtent();\n   }\n}\n\nfrontend/controllers/api/v1/UserController {\n   action viewProfile(int $id) {\n      $user = new (UserService())-\u003efindByID($id);\n      $R = new UsereViewProfileResources($user);\n      \n      return $R-\u003ejson();\n   }\n}\n\nfrontend/views/user/user-view-profile:\n\u003c?php\n\nuse frontend/resources/user/UsereViewProfileResources;\n \n/** @var UsereViewProfileResources $R - autocomplete and there is no possibility to make a typo */\n\n?\u003e\n\n\u003cdiv\u003eProfile: \u003c?= $R-\u003edisplay_name ?\u003e\u003c/div\u003e \n\u003cdiv\u003eAge: \u003c?= $R-\u003eage ?\u003e\u003c/div\u003e\n\n```\n_____\n\n\n\u003ca name=\"setup\"\u003e\u003c/a\u003e\n## Yii2 setups  \n\n### Install.\n\n\u003ca name=\"setup-composer\"\u003e\u003c/a\u003e\n1. exec command \n```bash\ncomposer require andy87/yii2-dnk-generator:dev-master\n#OR\nphp composer.local require andy87/yii2-dnk-generator:dev-master\n```\n\n\u003ca name=\"setup-config\"\u003e\u003c/a\u003e\n2. Update config file:\n- advanced: `@console\\config\\main.php`\n\n```php\n//.. other code\n\nreturn [\n    // .. other config\n    \n    'controllerMap' =\u003e [\n        // .. other config\n        \n        'dnk' =\u003e [  // new block\n            'class'     =\u003e andy87\\dnk\\GenerateController::class\n        ]\n        \n    ]\n]\n```\n\n\n* `root` - directory with folders 'frontend',backend',common' ...  \n* `command` - part of gii/... command  \n* `parts` - table lis. for user *  in command property  \n* `baseClasses` - list of based class names for generated file\n\n3. exec command [dnk/setup](#command-setup)\n    \n4. Update `config` for you require, by example: \n   \n```php\n\nuse common\\components\\db\\Tables;\nuse common\\components\\core\\BaseModel;\nuse andy87\\dnk\\GenerateController;\nuse andy87\\dnk\\source\\base\\BaseController;\nuse andy87\\dnk\\source\\base\\BaseMigration;\nuse andy87\\dnk\\source\\base\\BaseResource;\nuse andy87\\dnk\\source\\base\\BaseService;\n\n//.. other code\n\nreturn [\n    // .. other config\n\n    'controllerMap' =\u003e [\n        // .. other config\n        \n        'dnk' =\u003e [  // new block\n            'class'     =\u003e GenerateController::class,\n            'command'   =\u003e [\n                GenerateController::COMMAND_MODEL =\u003e implode(' ', [\n                    '--modelClass={{CamelCase}}Source',\n                    '--ns=common\\\\models\\\\sources',\n                    '--tableName={{snake_case}}',\n                    '--baseClass={{BaseModelClassName}}',\n                    '\u0026\u0026 yes'\n                ]),\n                GenerateController::COMMAND_CRUD =\u003e implode(' ', [\n                    '--modelClass={{CamelCase}}',\n                    '--controllerNamespace=backend\\\\controllers\\\\crud',\n                    '--baseControllerClass=backend\\\\controllers\\\\cruds\\\\{{CamelCase}}Controller',\n                    '--viewPath=@backend\\\\views\\\\cruds\\\\{{snake_case}}',\n                    '--enableI18N=1',\n                    '\u0026\u0026 yes'\n                ])\n            ],\n            'entityList' =\u003e array_values(Tables::DATA),\n            'baseClasses' =\u003e [\n                GenerateController::BASE_MIGRATE_CLASS =\u003e BaseMigration::class, // extends for `Migrations`\n                GenerateController::BASE_CONTROLLER_CLASS =\u003e BaseController::class, // extends for `Controllers`\n                GenerateController::BASE_MODEL_CLASS =\u003e BaseModel::class, // extends for `Source` models\n                GenerateController::BASE_SERVICE_CLASS =\u003e BaseService::class, // extends for `Services`\n                GenerateController::BASE_RESOURCE_CLASS =\u003e BaseResource::class, // extends for `Resources`\n            ]\n        ]\n    ]\n]\n```\n\n\n5. Add `Entity`  \n   Class: `common\\components\\Entity`, add `public const`  \n```php\n/** @var int */ \npublic const CAMEL_CASE = 2;\n```\n\n\n6. Add `Tables`  \n   Class: `common\\components\\db`, update `public const NAMES`  \n```php\n/** @var int */ \npublic const NAMES = [\n    // other code ...\n    Entity::CAMEL_CASE =\u003e 'snake_case',\n];\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandy87%2Fyii2-dnk-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandy87%2Fyii2-dnk-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandy87%2Fyii2-dnk-generator/lists"}