{"id":20791176,"url":"https://github.com/sikessem/core","last_synced_at":"2026-04-21T17:05:56.775Z","repository":{"id":257802834,"uuid":"724350132","full_name":"Sikessem/Core","owner":"Sikessem","description":"The core of @Sikessem.","archived":false,"fork":false,"pushed_at":"2024-11-11T09:05:08.000Z","size":256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"0.x","last_synced_at":"2025-04-14T19:54:29.235Z","etag":null,"topics":["core","dependency-injection","di-container","inversion-of-control","ioc","ioc-container","ioc-framework","kernel","object-values","sikessem","strict-types","type-safe","typed-php"],"latest_commit_sha":null,"homepage":"","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/Sikessem.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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-11-27T22:39:28.000Z","updated_at":"2025-04-08T16:42:13.000Z","dependencies_parsed_at":"2024-09-27T19:06:11.527Z","dependency_job_id":"7fec9e12-d5f7-4376-b70c-19b991a86a60","html_url":"https://github.com/Sikessem/Core","commit_stats":null,"previous_names":["sikessem/core","sikessel/core"],"tags_count":0,"template":false,"template_full_name":"Sikessem/Skeleton","purl":"pkg:github/Sikessem/Core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sikessem%2FCore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sikessem%2FCore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sikessem%2FCore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sikessem%2FCore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sikessem","download_url":"https://codeload.github.com/Sikessem/Core/tar.gz/refs/heads/0.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sikessem%2FCore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32101443,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["core","dependency-injection","di-container","inversion-of-control","ioc","ioc-container","ioc-framework","kernel","object-values","sikessem","strict-types","type-safe","typed-php"],"created_at":"2024-11-17T15:41:51.689Z","updated_at":"2026-04-21T17:05:56.744Z","avatar_url":"https://github.com/Sikessem.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n[![sikessem-logo]][sikessem-link]\n\n\u003cbr/\u003e\n\n[![php-icon]][php-link]\n[![packagist-version-icon]][packagist-version-link]\n[![packagist-download-icon]][packagist-download-link]\n[![license-icon]][license-link]\n[![actions-icon]][actions-link]\n[![pr-icon]][pr-link]\n[![twitter-icon]][twitter-link]\n\n\u003c/div\u003e\n\n[sikessem-logo]: https://github.com/sikessem/art/blob/HEAD/images/sikessem.svg\n[sikessem-link]: https://github.com/sikessem \"Sikessem\"\n\n[actions-icon]: https://github.com/sikessem/capsule/workflows/Tests/badge.svg\n[actions-link]: https://github.com/sikessem/capsule/actions \"Capsule status\"\n\n[php-icon]: https://img.shields.io/badge/PHP-ccc.svg?style=flat\u0026logo=php\n[php-link]:  https://github.com/sikessem/capsule/search?l=php \"PHP code\"\n\n[packagist-version-icon]: https://img.shields.io/packagist/v/sikessem/capsule\n[packagist-version-link]: https://packagist.org/packages/sikessem/capsule \"Capsule Releases\"\n\n[packagist-download-icon]: https://img.shields.io/packagist/dt/sikessem/capsule\n[packagist-download-link]: https://packagist.org/packages/sikessem/capsule \"Capsule Downloads\"\n\n[pr-icon]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?color=brightgreen\n[pr-link]: [contrib-link] \"PRs welcome!\"\n\n[twitter-icon]: https://img.shields.io/twitter/follow/sikessem_tweets.svg?label=@Sikessem_tweets\n[twitter-link]: https://twitter.com/intent/follow?screen_name=sikessem_tweets \"Ping Sikessem\"\n\n[license-icon]: https://img.shields.io/badge/license-MIT-blue.svg\n[license-link]: https://github.com/sikessem/capsule/blob/HEAD/LICENSE \"Capsule License\"\n[conduct-link]: https://github.com/sikessem/capsule/blob/HEAD/CODE_OF_CONDUCT.md\n[contrib-link]: https://github.com/sikessem/capsule/blob/HEAD/CONTRIBUTING.md\n[discuss-link]: https://github.com/sikessem/community/discussions\n\n***\n\n# An Efficient Dependency Injector and Encapsulator\n\nCapsule is a library that uses a Container to manage dependencies and objects in an organized and centralized way, thus facilitating encapsulation.\n\n## 🔖 Contents\n\n- [An Efficient Dependency Injector and Encapsulator](#an-efficient-dependency-injector-and-encapsulator)\n  - [🔖 Contents](#-contents)\n  - [📋 Requirements](#-requirements)\n  - [⚡️ Installation](#️-installation)\n  - [🧑‍💻 Usage](#-usage)\n  - [👏 Contribution](#-contribution)\n    - [Code of Conduct](#code-of-conduct)\n    - [👥 Contributing Guide](#-contributing-guide)\n    - [🔒️ Good First Issues](#️-good-first-issues)\n    - [💬 Discussions](#-discussions)\n  - [🔐 Security Reports](#-security-reports)\n  - [📄 License](#-license)\n\n## 📋 Requirements\n\n\u003e - **Requires [PHP 8.1+](https://php.net/releases/)** (at least 8.1.14 recommended to avoid potential bugs).\n\u003e - **Requires [Composer v2+](https://getcomposer.org/)** to manage PHP dependencies.\n\n## ⚡️ Installation\n\nInstall [Capsule](https://packagist.org/packages/sikessem/capsule) using [Composer](https://getcomposer.org/):\n\n- By adding the `sikessem/capsule` dependency to your `composer.json` file:\n\n    ```json\n    {\n        \"require\" : {\n            \"sikessem/capsule\": \"^0.5\"\n        }\n    }\n    ```\n\n- Or by including the dependency:\n\n    ```bash\n    composer require sikessem/capsule --no-dev\n    ```\n\n## 🧑‍💻 Usage\n\n1. Define your custom components using Capsule's interfaces and traits:\n\n    ```php\n    \u003c?php\n\n    namespace Sikessem\\Capsule\\Sample;\n\n    use Sikessem\\Capsule\\Core\\IsEncapsulated;\n\n    interface CustomInterface extends IsEncapsulated\n    {\n        public function getName(): string;\n\n        public function setName(string $name): void;\n    }\n    ```\n\n    ```php\n    \u003c?php\n\n    namespace Sikessem\\Capsule\\Sample;\n\n    final class CustomClass implements CustomInterface\n    {\n        use CustomTrait;\n\n        public function __construct(string $name = 'World')\n        {\n            $this-\u003esetName($name);\n        }\n    }\n    ```\n\n    ```php\n    \u003c?php\n\n    namespace Sikessem\\Capsule\\Sample;\n\n    use Sikessem\\Capsule\\Core\\HasEncapsulator;\n\n    trait CustomTrait\n    {\n        use HasEncapsulator;\n\n        protected string $name;\n\n        public function getName(): string\n        {\n            return $this-\u003ename;\n        }\n\n        public function setName(string $name): void\n        {\n            $this-\u003ename = $name;\n        }\n    }\n    ```\n\n2. You can use your components as below:\n\n    ```php\n    \u003c?php\n\n    use Sikessem\\Capsule\\Sample\\CustomClass;\n\n    $capsule = new CustomClass('Sikessem');\n\n    isset($capsule-\u003ename); // Returns true\n\n    echo $capsule-\u003ename; // Prints \"Sikessem\"\n\n    unset($capsule-\u003ename); // Does nothing\n\n    isset($capsule-\u003ename); // Returns true\n\n    $capsule-\u003evalue = 'value'; // Throws an exception\n\n    $capsule-\u003ename = 'value'; // Set name to \"value\"\n\n    echo $capsule-\u003ename; // Prints \"value\"\n\n    $capsule-\u003eon('hello', function (?string $name = null) {\n        return 'Hello '.($name ?? 'Sikessem').'!';\n    });\n\n    echo $capsule-\u003ehello(); //Prints \"Hello Sikessem!\"\n    ```\n\n## 👏 Contribution\n\nThe main purpose of this repository is to continue evolving Sikessem. We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bug fixes and improvements. Read below to learn how you can take part in improving Sikessem.\n\n## [👷 Code of Conduct][conduct-link]\n\nSikessem has adopted a Code of Conduct that we expect project participants to adhere to.\nPlease read the [full text][conduct-link] so that you can understand what actions will and will not be tolerated.\n\n## 👥 [Contributing Guide][contrib-link]\n\nRead our [**Contributing Guide**][contrib-link] to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Sikessem.\n\n## 🔒️ Good First Issues\n\nWe have a list of [good first issues][gfi] that contain bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.\n\n[gfi]: https://github.com/sikessem/core/labels/good%20first%20issue\n\n## 💬 Discussions\n\nLarger discussions and proposals are discussed in [**Sikessem's GitHub discussions**][discuss-link].\n\n## 🔐 Security Reports\n\nIf you discover a security vulnerability within [any of Sikessem's projects][sikessem-link], please email [SIGUI Kessé Emmanuel](https://sigui.ci) at [contact@sigui.ci](mailto:contact@sigui.ci). All security vulnerabilities will be promptly addressed.\n\n## 📄 License\n\nThe Sikessem Skeleton is open-sourced software licensed under the  [MIT License](https://opensource.org/licenses/MIT) - see the [LICENSE][license-link] file for details.\n\n***\n\n\u003cdiv align=\"center\"\u003e\u003csub\u003eMade with ❤︎ by \u003ca href=\"https://twitter.com/intent/follow?screen_name=siguici\" style=\"content:url(https://img.shields.io/twitter/follow/siguici.svg?label=@siguici);margin-bottom:-6px\"\u003e@siguici\u003c/a\u003e.\u003c/sub\u003e\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsikessem%2Fcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsikessem%2Fcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsikessem%2Fcore/lists"}