{"id":19250252,"url":"https://github.com/charcoalphp/core","last_synced_at":"2025-02-23T16:27:39.030Z","repository":{"id":37491777,"uuid":"505905978","full_name":"charcoalphp/core","owner":"charcoalphp","description":"[READ-ONLY] The Charcoal PHP framework","archived":false,"fork":false,"pushed_at":"2024-03-13T15:05:16.000Z","size":5342,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T11:02:26.250Z","etag":null,"topics":["charcoal","framework","php","read-only-repository"],"latest_commit_sha":null,"homepage":"https://github.com/charcoalphp/charcoal","language":"PHP","has_issues":false,"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/charcoalphp.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}},"created_at":"2022-06-21T15:43:33.000Z","updated_at":"2022-06-21T19:23:14.000Z","dependencies_parsed_at":"2024-01-13T04:49:42.010Z","dependency_job_id":"683238e6-9fd6-4408-832b-9dd81e2dcf59","html_url":"https://github.com/charcoalphp/core","commit_stats":{"total_commits":642,"total_committers":12,"mean_commits":53.5,"dds":"0.39563862928348914","last_synced_commit":"5c1341d93e2ca47861dc9e9f67c9ac78a712fdf6"},"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charcoalphp%2Fcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charcoalphp%2Fcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charcoalphp%2Fcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charcoalphp%2Fcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/charcoalphp","download_url":"https://codeload.github.com/charcoalphp/core/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240342719,"owners_count":19786565,"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","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":["charcoal","framework","php","read-only-repository"],"created_at":"2024-11-09T18:16:37.832Z","updated_at":"2025-02-23T16:27:39.000Z","avatar_url":"https://github.com/charcoalphp.png","language":"PHP","readme":"Charcoal Core\n=============\n\nThe Core package provides abstract objects and tools for defining object data models and managing datasource connections.\n\n## Installation\n\n```shell\ncomposer require charcoal/core\n```\n\nFor Charcoal projects, the service provider can be registered from your configuration file:\n\n```json\n{\n    \"service_providers\": {\n        \"charcoal/model/service-provider/model\": {}\n    }\n}\n```\n\n## Overview\n\n### Loader\n\nTODO\n\n### Model\n\nTODO\n\n### Source\n\n`Source` provides storage support to Charcoal models.\n\nUsing a `Source` object directly:\n\n```php\n$model = ModelFactory::instance()-\u003ecreate('namespace/model');\n$source = SourceFactory::instance()-\u003ecreate('database');\n$source-\u003eload_item(1, $model);\n```\n\nUsing a `Storable` object, which abstract away the `Source` completely.\n\n```php\n// Model implements StorableInterface with StorableTrait\n$model = ModelFactory::instance()-\u003ecreate('namespace/model');\n// This will load the Model's source from it's metadata\n$model-\u003eload(1);\n```\n\n#### Available Source\n\nCurrently, only the `database` source is supported.\n\n##### Database Source\n\nThe `DatabaseSource` source type is currently the only supported storage source.\n\n##### TODOs\n\n* Implements a `FileSource`, at least a basic CSV support.\n* Move `CollectionLoader` to here, somehow.\n\n### Validator\n\nThe validator namespace is obsolete and should not be used.\nIts usage is currently being removed from everywhere in charcoal.\n\n## Resources\n\n* [Contributing](https://github.com/charcoalphp/.github/blob/main/CONTRIBUTING.md)\n* [Report issues](https://github.com/charcoalphp/charcoal/issues) and\n  [send pull requests](https://github.com/charcoalphp/charcoal/pulls)\n  in the [main Charcoal repository](https://github.com/charcoalphp/charcoal)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharcoalphp%2Fcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharcoalphp%2Fcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharcoalphp%2Fcore/lists"}