{"id":21002840,"url":"https://github.com/promcms/core","last_synced_at":"2026-02-19T14:01:59.014Z","repository":{"id":57749379,"uuid":"524499355","full_name":"PromCMS/Core","owner":"PromCMS","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-29T11:17:56.000Z","size":632,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-09-07T01:54:14.601Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PromCMS.png","metadata":{"files":{"readme":"README.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":"2022-08-13T20:19:37.000Z","updated_at":"2024-11-29T11:17:41.000Z","dependencies_parsed_at":"2023-11-11T11:23:14.217Z","dependency_job_id":"fe518e9c-c4dd-4d84-85c1-7ccefd802d62","html_url":"https://github.com/PromCMS/Core","commit_stats":{"total_commits":36,"total_committers":2,"mean_commits":18.0,"dds":0.02777777777777779,"last_synced_commit":"079a4bbb3c0eb17ab0f0d2974fea239b06d9a054"},"previous_names":[],"tags_count":183,"template":false,"template_full_name":null,"purl":"pkg:github/PromCMS/Core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PromCMS%2FCore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PromCMS%2FCore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PromCMS%2FCore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PromCMS%2FCore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PromCMS","download_url":"https://codeload.github.com/PromCMS/Core/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PromCMS%2FCore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005420,"owners_count":26083883,"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-10-10T02:00:06.843Z","response_time":62,"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-19T08:20:31.967Z","updated_at":"2025-10-10T21:42:10.864Z","avatar_url":"https://github.com/PromCMS.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PromCMS Core project\n\nThis project contains essential parts of PromCMS.\n\n## TODOs\n\n1. [ ] Improve tests\n1. [ ] Add documentation (Partially done)\n1. [x] Migrate to Doctrine\n1. [ ] ~~Migrate to illuminate/database models and still use SleekDB~~ Create SleekDB Adapter into Doctrine\n1. [ ] Improve twig rendering\n1. [x] Improve events\n1. [ ] Provide better international experience\n    1. [x] Add twig function/tags/filters\n    1. [ ] Rethink intl on models (should that info be on models itself?)\n1. [x] Support MySQL in custom models \n    * Perhaps support Illuminate/Database again by creating package that adds SleekDB as a db driver\n\n# `FAQ` and `HOW TOs`\n\n## What functions/filters/helpers/etc are accessible in Twig?\n\n## How can I access services or other objects provided by PromCMS?\n\nServices are stored in [PSR Container](https://www.php-fig.org/psr/psr-11/) by PromCMS. In fact, PromCMS sets those objects and subscribes to them internally from the container.\n\nLet's look at this example code that can be placed inside `\u003cyour app root\u003e/src/bootstrap.php`: \n```php\nuse PromCMS\\Core\\Config;\n\nreturn function (App $app) {\n  // Access PSR container\n  $container = $app-\u003egetContainer();\n  \n  // Now you can access whatever - for example Config! It`s fully \"type-safe\" ;)\n  $config = $container-\u003eget(Config::Class);\n\n  // Now you can use it normally (this is boolean which has true if current .env does not have environment specified or has development value)\n  echo $config-\u003eenv-\u003edevelopment;\n}\n```\n\n### What services does PromCMS expose?\n\nPromCMS exposes a variety of services and objects that help you with creating your project. Each item has its own documentation page (or even PHPDoc) that you can access by clicking on each item\n\n- [`JWTService::class`](./src/Services/JWTService.php)\n- [`ImageService::class`](./src/Services/ImageService.php)\n- [`FileService::class`](./src/Services/FileService.php)\n- [`LocalizationService::class`](./src/Services/LocalizationService.php)\n- [`SchemaService::class`](./src/Services/SchemaService.php)\n- [`RenderingService::class`](./src/Services/RenderingService.php)\n- [`Session::class`](./src/Session.php)\n- [`Logger::class`](./src/Logger.php)\n\n## What possible .env options can I set, how can I access them and what they control?\n\nEvery PromCMS should have secrets stored in .env. PromCMS stores known configuration in PromCMS\\Core\\Config which is accessible through PSR Container (see [this section](#how-can-i-access-services-or-other-objects-provided-by-promcms) for more)\n\n### Known keys\n\n#### `APP_ENV`\n#### `SECURITY_SESSION_LIFETIME`\n#### `SECURITY_TOKEN_LIFETIME`\n#### `APP_DEBUG`\n#### `MAIL_HOST`\n#### `MAIL_PORT`\n#### `MAIL_USER`\n#### `MAIL_PASS`\n#### `MAIL_ADDRESS`\n#### `SYSTEM_LOGGING_PATHNAME`\n\nDescribes the relative path to where should [`Logger`](./src/Logger.php) log. \n\n- type: `string|null`\n- default: `null`\n- example: `SYSTEM_LOGGING_PATHNAME=\"./.temp/app.log\"`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpromcms%2Fcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpromcms%2Fcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpromcms%2Fcore/lists"}