{"id":22772903,"url":"https://github.com/baguettephp/objectsystem","last_synced_at":"2025-09-05T23:52:21.878Z","repository":{"id":24282290,"uuid":"27676999","full_name":"BaguettePHP/objectsystem","owner":"BaguettePHP","description":"Object system implementation for PHP","archived":false,"fork":false,"pushed_at":"2023-10-24T08:54:45.000Z","size":199,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-24T20:49:23.350Z","etag":null,"topics":["magic-method","object-system","oop","packagist","php","teto-kasane"],"latest_commit_sha":null,"homepage":"https://packagist.org/packages/zonuexe/objectsystem","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ConsenSys/Tokens","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BaguettePHP.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}},"created_at":"2014-12-07T16:52:04.000Z","updated_at":"2023-10-23T09:46:39.000Z","dependencies_parsed_at":"2024-12-11T17:10:09.876Z","dependency_job_id":"b6b83f71-de89-4631-84bc-357268446c8e","html_url":"https://github.com/BaguettePHP/objectsystem","commit_stats":{"total_commits":60,"total_committers":1,"mean_commits":60.0,"dds":0.0,"last_synced_commit":"0966fb48c6e235df278afdf1be0054c69e31fd44"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/BaguettePHP/objectsystem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaguettePHP%2Fobjectsystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaguettePHP%2Fobjectsystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaguettePHP%2Fobjectsystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaguettePHP%2Fobjectsystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BaguettePHP","download_url":"https://codeload.github.com/BaguettePHP/objectsystem/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaguettePHP%2Fobjectsystem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273838359,"owners_count":25177161,"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-09-05T02:00:09.113Z","response_time":402,"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":["magic-method","object-system","oop","packagist","php","teto-kasane"],"created_at":"2024-12-11T17:10:05.324Z","updated_at":"2025-09-05T23:52:21.824Z","avatar_url":"https://github.com/BaguettePHP.png","language":"PHP","readme":"Teto Objectsystem\n=================\n\n[![Package version](http://img.shields.io/packagist/v/zonuexe/objectsystem.svg?style=flat)](https://packagist.org/packages/zonuexe/objectsystem)\n[![Build Status](https://travis-ci.org/BaguettePHP/objectsystem.svg?branch=master)](https://travis-ci.org/BaguettePHP/objectsystem)\n[![Packagist](http://img.shields.io/packagist/dt/zonuexe/objectsystem.svg?style=flat)](https://packagist.org/packages/zonuexe/objectsystem)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/BaguettePHP/objectsystem/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/BaguettePHP/objectsystem/?branch=master)\n\nObject system implementation for PHP\n\nDocument\n--------\n\n* [API Reference](http://baguettephp.github.io/objectsystem/) (generated By [ApiGen](https://github.com/ApiGen/ApiGen) 4.1.2)\n* in Japanese: [`TypedProperty`について](./poem.ja.md).\n* in Japanese: [private/protectedなプロパティを外部から読み込み可能にする - Qiita](http://qiita.com/tadsan/items/2049243e47495764b191)\n\nInstallation\n------------\n\n### [Composer](https://getcomposer.org/)\n\n```sh\ncd /path/to/your/project\ncomposer require zonuexe/objectsystem\n```\n\nFeatures\n--------\n\n* Property type check at run time\n  * `trait TypedProperty`\n  * `trait TypeAssert`\n  * `class TypeDefinision`\n* Object container\n  * `class ObjectArray`\n  * `interface ToArrayInterface`\n* Trait for general class\n  * `trait ReadOnlyTrait`: Restrict write to not accessable property.\n  * `trait PrivateGetter`: Private property behaves like read only.\n    * Very simple, but you may not be able to imagine the behavior of trait in the inherited class.\n    * Behavior of undefined property depends on [error_reporting()](http://php.net/manual/function.error-reporting.php) and [set_error_handler()](http://php.net/manual/function.set-error-handler.php).\n  * `trait PrivateStrictGetter`: Private property behaves like read only.\n    * Throws `OutOfRangeException` if propery is undefined.\n  * `trait MethodAlias`: Make alias of method.\n  * `trait PropertyLikeMethod`: Call method as property.\n\nReferences\n----------\n\n* [phpDocumentor Definition of a ‘Type’](http://www.phpdoc.org/docs/latest/references/phpdoc/types.html)\n\nCopyright\n---------\n\nsee `./LICENSE`.\n\n    Object system implementation for PHP\n    Copyright (c) 2016 [Baguette HQ](http://baguettephp.github.io/) / [USAMI Kenta](https://tadsan.github.io/) \u003ctadsan@zonu.me\u003e\n\nTeto Kasane\n-----------\n\nI love [Teto Kasane](http://utau.wikia.com/wiki/Teto_Kasane). (ja: [Teto Kasane official site](http://kasaneteto.jp/))\n\n```\n　　　　　 　r /\n　 ＿＿ , --ヽ!-- .､＿\n　! 　｀/::::;::::ヽ l\n　!二二!::／}::::丿ハﾆ|\n　!ﾆニ.|:／　ﾉ／ }::::}ｺ\n　L二lイ　　0´　0 ,':ﾉｺ\n　lヽﾉ/ﾍ､ ''　▽_ノイ ソ\n 　ソ´ ／}｀ｽ /￣￣￣￣/\n　　　.(_:;つ/  0401 /　ｶﾀｶﾀ\n ￣￣￣￣￣＼/＿＿＿＿/\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaguettephp%2Fobjectsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaguettephp%2Fobjectsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaguettephp%2Fobjectsystem/lists"}