{"id":21204039,"url":"https://github.com/phpbrew/pearx","last_synced_at":"2025-10-04T11:56:25.418Z","repository":{"id":56958099,"uuid":"3926353","full_name":"phpbrew/PEARX","owner":"phpbrew","description":"PEAR Channel Library (This library doesn't depend on PEAR)","archived":false,"fork":false,"pushed_at":"2023-04-20T14:05:54.000Z","size":161,"stargazers_count":9,"open_issues_count":1,"forks_count":7,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-09-07T17:59:42.439Z","etag":null,"topics":["pear","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phpbrew.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2012-04-04T07:15:59.000Z","updated_at":"2023-05-02T19:55:07.000Z","dependencies_parsed_at":"2024-06-19T23:47:19.848Z","dependency_job_id":"70bbe1a4-81f1-4373-b245-8225271b4fe3","html_url":"https://github.com/phpbrew/PEARX","commit_stats":{"total_commits":106,"total_committers":5,"mean_commits":21.2,"dds":0.2075471698113207,"last_synced_commit":"2c5b5da4abd46bae9585f0f4ceeeaad2651e5cf6"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/phpbrew/PEARX","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpbrew%2FPEARX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpbrew%2FPEARX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpbrew%2FPEARX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpbrew%2FPEARX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phpbrew","download_url":"https://codeload.github.com/phpbrew/PEARX/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phpbrew%2FPEARX/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278308623,"owners_count":25965654,"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-10-04T02:00:05.491Z","response_time":63,"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":["pear","php"],"created_at":"2024-11-20T20:28:42.430Z","updated_at":"2025-10-04T11:56:25.404Z","avatar_url":"https://github.com/phpbrew.png","language":"PHP","readme":"PEARX\n=====\n\nPEARX - A Non-PEAR-Dependent PEAR library for PHP 5.3 (PSR-0 compliance)\n\nFeatures:\n\n- Package XML parser.\n- Package XML builder.\n- Package XML installer.\n- Faster than the original PEAR code.\n- Can run without PEAR dependency.\n- Support Cache.\n- PSR-0 compliance.\n\n## Install\n\n    $ git clone https://github.com/phpbrew/PEARX.git\n    $ cd PEARX\n    $ onion bundle\n    $ sudo pear install -f package.xml\n\n## Synopsis\n\nChannel operations:\n\n```php\nuse CacheKit\\FileSystemCache;\n\n$channel = new PEARX\\Channel($host);\n\n\n// find package from the remote pear host\n$package = $channel-\u003efindPackage('PEAR');\n\n\n\n// traverse pear channel categories\n$categories = $channel-\u003egetCategories();\n\nforeach( $categories as $category ) {\n    // $category-\u003ename\n    // $category-\u003einfoUrl\n\n    $packages = $category-\u003egetPackages();\n    foreach( $packages as $package ) {\n        $package-\u003ename;\n        $package-\u003esummary;\n        $package-\u003edesc;\n        $package-\u003echannel;\n        $package-\u003elicense;\n        $package-\u003edeps;\n        $package-\u003ereleases;\n\n        $package-\u003estable; // version string\n        $package-\u003ealpha;  // version string\n        $package-\u003elatest; // version string\n\n        $stability = $package-\u003egetRelease('0.0.1');\n    }\n}\n```\n\n\nTo use PEARX with Cache and CurlDownlaoder\n\n```php\n\u003c?php\n    $cache = new CacheKit\\FileSystemCache(array(\n        'expiry' =\u003e 60 * 30, // 30 minutes\n        'cache_dir' =\u003e '/tmp/cache',\n    ));\n\n    $d = new CurlDownloader;\n    $d-\u003esetProgressHandler( new \\CurlKit\\ProgressBar );\n\n    $channel = new PEARX\\Channel($host, array( \n        'cache' =\u003e $cache,\n        'downloader' =\u003e $d,\n    ));\n```\n\nParsing Package XML:\n\n```php\n    $parser = new PEARX\\PackageXml\\Parser;\n\n    $package = $parser-\u003eparse($file);\n    ok($package-\u003egetName());\n    ok($package-\u003egetChannel());\n    ok($package-\u003egetDate());\n    ok($package-\u003egetTime());\n    ok($package-\u003egetDateTime() );\n\n    /* ContentFile objects */\n    $contents = $package-\u003egetContents();\n    ok($contents);\n\n    foreach( $contents as $content ) {\n        ok($content-\u003efile);\n        ok($content-\u003erole);\n    }\n\n    $filelist = $package-\u003egetInstallFileList();\n    foreach( $filelist as $install ) {\n        ok($install-\u003efrom);\n        ok($install-\u003eto);\n    }\n```\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphpbrew%2Fpearx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphpbrew%2Fpearx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphpbrew%2Fpearx/lists"}