{"id":15984855,"url":"https://github.com/gggeek/polyfill-xmlrpc","last_synced_at":"2025-03-17T15:32:17.189Z","repository":{"id":57041024,"uuid":"323946810","full_name":"gggeek/polyfill-xmlrpc","owner":"gggeek","description":"Provides emulation of the native XML-RPC extension for PHP","archived":false,"fork":false,"pushed_at":"2024-03-06T17:53:21.000Z","size":149,"stargazers_count":6,"open_issues_count":3,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-06T01:01:21.967Z","etag":null,"topics":["php","xmlrpc"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gggeek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","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":"2020-12-23T16:11:00.000Z","updated_at":"2024-04-14T19:24:53.250Z","dependencies_parsed_at":"2024-04-14T19:24:49.737Z","dependency_job_id":"598b83c1-7ed3-4e46-b548-d4468380f76a","html_url":"https://github.com/gggeek/polyfill-xmlrpc","commit_stats":{"total_commits":60,"total_committers":2,"mean_commits":30.0,"dds":0.01666666666666672,"last_synced_commit":"a12eea5f171d5b87e389117efa3c73bb0e734405"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gggeek%2Fpolyfill-xmlrpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gggeek%2Fpolyfill-xmlrpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gggeek%2Fpolyfill-xmlrpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gggeek%2Fpolyfill-xmlrpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gggeek","download_url":"https://codeload.github.com/gggeek/polyfill-xmlrpc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221696164,"owners_count":16865369,"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","xmlrpc"],"created_at":"2024-10-08T02:10:49.219Z","updated_at":"2024-10-27T15:14:08.462Z","avatar_url":"https://github.com/gggeek.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Polyfill-XMLRPC\n===============\n\nA pure-php reimplementation of the API exposed by the native XML-RPC extension.\n\nOriginally bundled as part of the [phpxmlrpc/extras](https://github.com/gggeek/phpxmlrpc-extras) package.\n\nRequirements\n------------\n\nAny PHP version from 5.4 to 8.3 is supported.\nThe `phpxmlrpc/phpxmlrpc` library is used as the underlying XML-RPC engine. It will get automatically pulled in for you\nwhen you install via Composer.\n\nInstallation and usage\n----------------------\n\nInstallation: the recommended way to install this library is via usage of Composer. Just add\n\n    \"phpxmlrpc/polyfill-xmlrpc\": \"^1.0.0\"\n\nto your Composer \"require\" section.\n\nUsage: once your autoload configuration is set up properly (which is normally taken care for you by Composer), you\ncan just use in your code all the functions described at https://www.php.net/manual/en/ref.xmlrpc.php\n\nKnown differences from the original extension\n---------------------------------------------\n\n### Work in Progress!\n\nThis library is not _fully_ complete yet, but it should be good enough for most users.\n\nThe main features missing are:\n- character set handling: at the moment only utf-8 and iso-8859-1 charset encodings are supported; iso-8859-1 as default,\n  and utf-8 via:\n  - using the `$encoding` argument to `xmlrpc_decode()` and `xmlrpc_decode_request()`\n  - setting `'encoding' =\u003e 'UTF-8'` and `'escaping' =\u003e 'markup'` in the `$options` argument to `xmlrpc_encode_request`\n- the `xmlrpc_parse_method_descriptions` and `xmlrpc_server_register_introspection_callback` functions exist but do nothing\n- the `xmlrpc_encode_request` function has partial support for the `$options` argument\n\nFor a detailed list of all known differences compared to the behaviour of the PHP extension, see comments at the top of\nfile [XmlRpc.php](src/XmlRpc.php).\n\n### Compatibility goals\n\nWe strive to reproduce the same behaviour as the XML-RPC extension to the best \"reasonable\" extent.\n\nThis means that the following are _not_ goals of this package:\n\n- being able to produce the same xml streams as the native extension, where \"same\" means byte-by-byte identical.\n  Eg. whitespace and element indentation in the produced xml strings do differ\n\n- reproducing behaviour of the native extension which is clearly buggy\n  Eg. the native extension will produce invalid xmlrpc requests when some specific values are passed to an\n  `xmlrpc_encode_request` call\n\nRunning tests\n-------------\n\nThe recommended way to run the library test suite is via the provided Docker containers.\nA handy shell script is available that simplifies usage of Docker.\n\nThe full sequence of operations is:\n\n    ./tests/ci/vm.sh build\n    ./tests/ci/vm.sh start\n    ./tests/ci/vm.sh runtests\n    ./tests/ci/vm.sh stop\n\n    # and, once you have finished all testing related work:\n    ./tests/ci/vm.sh cleanup\n\nBy default, tests are run using php 7.4 in a Container based on Ubuntu 20 Focal.\nYou can change the version of PHP and Ubuntu in use by setting the environment variables PHP_VERSION and UBUNTU_VERSION\nbefore building the Container.\n\nTo generate the code-coverage report, run `./tests/ci/vm.sh runcoverage`\n\nFAQ\n---\n\nQ: is it possible to specify the precision used to serialize Double values?\nA: yes, by setting a positive integer value to `\\PhpXmlRpc\\Polyfill\\XmlRpc\\XmlRpc::$xmlpc_double_precision`\n\nLicense\n-------\nUse of this software is subject to the terms in the [license.txt](license.txt) file\n\n[![License](https://poser.pugx.org/phpxmlrpc/polyfill-xmlrpc/license)](https://packagist.org/packages/phpxmlrpc/polyfill-xmlrpc)\n[![Latest Stable Version](https://poser.pugx.org/phpxmlrpc/polyfill-xmlrpc/v/stable)](https://packagist.org/packages/phpxmlrpc/polyfill-xmlrpc)\n[![Total Downloads](https://poser.pugx.org/phpxmlrpc/polyfill-xmlrpc/downloads)](https://packagist.org/packages/phpxmlrpc/polyfill-xmlrpc)\n\n[![Build Status](https://github.com/gggeek/polyfill-xmlrpc/actions/workflows/ci.yaml/badge.svg)](https://github.com/gggeek/polyfill-xmlrpc/actions/workflows/ci.yml)\n[![Code Coverage](https://codecov.io/gh/gggeek/polyfill-xmlrpc/branch/master/graph/badge.svg)](https://app.codecov.io/gh/gggeek/polyfill-xmlrpc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgggeek%2Fpolyfill-xmlrpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgggeek%2Fpolyfill-xmlrpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgggeek%2Fpolyfill-xmlrpc/lists"}