{"id":18997638,"url":"https://github.com/maschmann/php-utilities","last_synced_at":"2025-04-16T20:31:35.063Z","repository":{"id":19591189,"uuid":"22841603","full_name":"maschmann/php-utilities","owner":"maschmann","description":"php utilities like data container, collection object, timer, ...","archived":true,"fork":false,"pushed_at":"2018-08-20T09:40:41.000Z","size":112,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-10T23:55:27.018Z","etag":null,"topics":["php","php-utility"],"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/maschmann.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-11T14:19:35.000Z","updated_at":"2024-10-26T07:34:28.000Z","dependencies_parsed_at":"2022-08-24T13:56:19.986Z","dependency_job_id":null,"html_url":"https://github.com/maschmann/php-utilities","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maschmann%2Fphp-utilities","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maschmann%2Fphp-utilities/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maschmann%2Fphp-utilities/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maschmann%2Fphp-utilities/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maschmann","download_url":"https://codeload.github.com/maschmann/php-utilities/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249273878,"owners_count":21241985,"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":["php","php-utility"],"created_at":"2024-11-08T17:42:03.716Z","updated_at":"2025-04-16T20:31:34.653Z","avatar_url":"https://github.com/maschmann.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"php-utilities\n=============\n[![Build Status](https://travis-ci.org/maschmann/php-utilities.png?branch=master)](https://travis-ci.org/maschmann/php-utilities)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/maschmann/php-utilities/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/maschmann/php-utilities/?branch=master)\n[![Code Coverage](https://scrutinizer-ci.com/g/maschmann/php-utilities/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/maschmann/php-utilities/?branch=master)\n[![SensioLabsInsight](https://insight.sensiolabs.com/projects/8c7f40ea-df80-4efe-a2e7-e3239c4805a0/mini.png)](https://insight.sensiolabs.com/projects/8c7f40ea-df80-4efe-a2e7-e3239c4805a0)\n\n## About\nThis library is all about helping with the common little problems like having a type of object to inherit from with an internal data storage to turn to a json or array, ... \n\n## Usage\nA lot of examples on how to use the classes can be found in the UnitTests. The whole collection is extensively tested and therefore quite stable.\nFeel free to contribute, suggest changes or help make it better.\n\n## Contents\nYou'll get following groups of classes which are interdependent\n\n### Data\nThis part consists of two distinct classes:\n* Data is a data store where you can easily store and retrieve data.\n* DataCollection ist a container to house items like objects, iterable.\n\n### Config\nHere you get a static factory which is able to produce three types of configuration objects, based on Data class. All config objects take yaml files as source and provide easy access via get/set methods. See UnitTests for examples.\nAvailable types are:\n* ConfigDefault - basic config object, stores the yaml content \"as is\", provides get/set.\n* ConfigEnv - provides the possibility to get an environment-merged config. Based on the currently provided env, you'll have e.g. prod -\u003e dev merged, with prod node as a master.\n* ConfigTimer is a specialised for of config to provide pre-generated DateTime objects for the Timer class.\n\nConfigs now also support the \"imports\" syntax from symfony configs.\n\n```\nimports:\n    - { resource: defaults.yml }\n```\nThere is the possibility to use a \"default\" node in all configs, except timers, which will be used as merge-base.\nImported configs will be treated just like the \"default\" node and also become the base for merging.\nThe order of merges is import -\u003e default -\u003e prod -\u003e $env.\n\n### Timer\nProvides functionality to check if there's a current holiday, has configurable \"timers\" to check uf e.g. your hotline should be available etc.\nExtensive examples can be found within both, the TestData and UnitTests :-)\n\n### Test\nTestData is just a helper for providing configurations for either Config and Timer. Have a look for YAML config examples.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaschmann%2Fphp-utilities","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaschmann%2Fphp-utilities","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaschmann%2Fphp-utilities/lists"}