{"id":15026305,"url":"https://github.com/Alpine418/DataHandler","last_synced_at":"2025-10-01T04:32:44.116Z","repository":{"id":57024983,"uuid":"285272769","full_name":"Alpine418/DataHandler","owner":"Alpine418","description":"Data handler for PHP arrays.","archived":false,"fork":false,"pushed_at":"2023-09-05T20:08:49.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-20T17:18:56.128Z","etag":null,"topics":["data","data-handler","php73"],"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/Alpine418.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":"2020-08-05T11:49:49.000Z","updated_at":"2023-06-12T10:24:00.000Z","dependencies_parsed_at":"2024-10-12T12:40:28.413Z","dependency_job_id":null,"html_url":"https://github.com/Alpine418/DataHandler","commit_stats":null,"previous_names":["jnessier/data","neoflow/data","alpine418/datahandler","jnessier/datahandler"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alpine418%2FDataHandler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alpine418%2FDataHandler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alpine418%2FDataHandler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alpine418%2FDataHandler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alpine418","download_url":"https://codeload.github.com/Alpine418/DataHandler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234823815,"owners_count":18892380,"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":["data","data-handler","php73"],"created_at":"2024-09-24T20:04:15.028Z","updated_at":"2025-10-01T04:32:43.729Z","avatar_url":"https://github.com/Alpine418.png","language":"PHP","funding_links":["https://www.paypal.me/JonathanNessier"],"categories":[],"sub_categories":[],"readme":"# Data handler\n[![Build Status](https://github.com/jnessier/DataHandler/workflows/Tests/badge.svg)](https://github.com/jnessier/DataHandler/actions?query=branch:4.x)\n[![Latest Stable Version](https://poser.pugx.org/jnessier/data-handler/v?service=github)](https://packagist.org/packages/jnessier/data-handler)\n[![Total Downloads](https://poser.pugx.org/jnessier/data-handler/downloads?service=github)](https://packagist.org/packages/jnessier/data-handler)\n[![License](https://poser.pugx.org/jnessier/data-handler/license?service=github)](https://packagist.org/packages/jnessier/data-handler)\n\nData handler for PHP arrays.\n\n## Table of Contents\n- [Requirement](#requirement)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Limitations](#limitations)\n- [Contributors](#contributors)\n- [License](#license)\n\n## Requirement\n* PHP \u003e= 8.1\n\n## Installation\nInstall package of the data handler via Composer...\n```bash\ncomposer require jnessier/data-handler\n```\n...or manually download the latest release from [here](https://github.com/jnessier/DataHandler/releases/).\n\n## Usage\n```php\nuse DataHandler\\Data;\n\n// Create new data handler.\n$data = new Data([\n    // Array with key/value pairs\n]);\n\n// Get value by key.\n$default = null; // Default value, when key doesn't exists\n$value = $data-\u003eget('key', $default);\n   \n// Pull value by key and delete it afterward.\n$default = null; // Default value, when key doesn't exists\n$value = $data-\u003epull('key', $default);\n\n// Set value by key.\n$overwrite = true; // Set FALSE to prevent overwrite existing value\n$data = $data-\u003eset('key', 'value', $overwrite);\n\n// Check whether value exists by key.\n$valueExists = $data-\u003ehas('key');\n   \n// Delete value by key.\n$data-\u003edelete('key');\n\n// Count number of values.\n$numberOfValues = $data-\u003ecount();\n\n// Get all values as array.\n$array = $data-\u003egetAll();\n\n// Iterate trough values.\n$data-\u003eeach(function ($value, string $key) {\n    // Callback for each key/value pair\n});\n\n// Clear values.\n$data = $data-\u003eclear();\n\n// Replace values. Existing values with similar keys will be overwritten.\n$recursive = true; // Set FALSE to prevent recursive merge\n$data = $data-\u003ereplace([\n    // Array with key/value pairs\n], $recursive);\n\n// Set array as values. Existing data will be overwritten.\n$data = $data-\u003esetAll([\n    // Array with key/value pairs\n]);\n\n// Set referenced array as values. Existing data will be overwritten.\n$values = [\n    // Array with key/value pairs\n];\n$data = $data-\u003esetAllReferenced($values);\n```\n\n## Limitations\n* Only string as key supported\n* Only array as key/value pairs supported\n* No dot notation implementation\n* No type check for values\n\n## Contributors\n* Jonathan Nessier (jnessier)\n\nIf you would like to see this library develop further, or if you want to support me or show me your appreciation, please\n donate any amount through PayPal. Thank you! :beers:\n \n[![Donate](https://img.shields.io/badge/Donate-paypal-blue)](https://www.paypal.me/JonathanNessier)\n\n## License\nLicensed under [MIT](LICENSE). \n\n*Made in Switzerland with :cheese: and :heart:*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlpine418%2FDataHandler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAlpine418%2FDataHandler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlpine418%2FDataHandler/lists"}