[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8245":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":26,"discoverSource":27},8245,"manifest","phar-io\u002Fmanifest","phar-io","Component for reading phar.io manifest information from a PHP Archive (PHAR)","https:\u002F\u002Fphar.io\u002F",null,"PHP",7481,15,2,3,0,1,34.61,"Other",false,"master",[],"2026-06-12 02:01:51","# Manifest\n\nComponent for reading [phar.io](https:\u002F\u002Fphar.io\u002F) manifest information from a [PHP Archive (PHAR)](http:\u002F\u002Fphp.net\u002Fphar).\n\n## Installation\n\nYou can add this library as a local, per-project dependency to your project using [Composer](https:\u002F\u002Fgetcomposer.org\u002F):\n\n    composer require phar-io\u002Fmanifest\n\nIf you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:\n\n    composer require --dev phar-io\u002Fmanifest\n\n## Usage Examples\n\n### Read from `manifest.xml`\n```php\nuse PharIo\\Manifest\\ManifestLoader;\nuse PharIo\\Manifest\\ManifestSerializer;\n\n$manifest = ManifestLoader::fromFile('manifest.xml');\n\nvar_dump($manifest);\n\necho (new ManifestSerializer)->serializeToString($manifest);\n```\n\n\u003Cdetails>\n  \u003Csummary>Output\u003C\u002Fsummary>\n    \n```shell\nobject(PharIo\\Manifest\\Manifest)#14 (6) {\n  [\"name\":\"PharIo\\Manifest\\Manifest\":private]=>\n  object(PharIo\\Manifest\\ApplicationName)#10 (1) {\n    [\"name\":\"PharIo\\Manifest\\ApplicationName\":private]=>\n    string(12) \"some\u002Flibrary\"\n  }\n  [\"version\":\"PharIo\\Manifest\\Manifest\":private]=>\n  object(PharIo\\Version\\Version)#12 (5) {\n    [\"originalVersionString\":\"PharIo\\Version\\Version\":private]=>\n    string(5) \"1.0.0\"\n    [\"major\":\"PharIo\\Version\\Version\":private]=>\n    object(PharIo\\Version\\VersionNumber)#13 (1) {\n      [\"value\":\"PharIo\\Version\\VersionNumber\":private]=>\n      int(1)\n    }\n    [\"minor\":\"PharIo\\Version\\Version\":private]=>\n    object(PharIo\\Version\\VersionNumber)#23 (1) {\n      [\"value\":\"PharIo\\Version\\VersionNumber\":private]=>\n      int(0)\n    }\n    [\"patch\":\"PharIo\\Version\\Version\":private]=>\n    object(PharIo\\Version\\VersionNumber)#22 (1) {\n      [\"value\":\"PharIo\\Version\\VersionNumber\":private]=>\n      int(0)\n    }\n    [\"preReleaseSuffix\":\"PharIo\\Version\\Version\":private]=>\n    NULL\n  }\n  [\"type\":\"PharIo\\Manifest\\Manifest\":private]=>\n  object(PharIo\\Manifest\\Library)#6 (0) {\n  }\n  [\"copyrightInformation\":\"PharIo\\Manifest\\Manifest\":private]=>\n  object(PharIo\\Manifest\\CopyrightInformation)#19 (2) {\n    [\"authors\":\"PharIo\\Manifest\\CopyrightInformation\":private]=>\n    object(PharIo\\Manifest\\AuthorCollection)#9 (1) {\n      [\"authors\":\"PharIo\\Manifest\\AuthorCollection\":private]=>\n      array(1) {\n        [0]=>\n        object(PharIo\\Manifest\\Author)#15 (2) {\n          [\"name\":\"PharIo\\Manifest\\Author\":private]=>\n          string(13) \"Reiner Zufall\"\n          [\"email\":\"PharIo\\Manifest\\Author\":private]=>\n          object(PharIo\\Manifest\\Email)#16 (1) {\n            [\"email\":\"PharIo\\Manifest\\Email\":private]=>\n            string(16) \"reiner@zufall.de\"\n          }\n        }\n      }\n    }\n    [\"license\":\"PharIo\\Manifest\\CopyrightInformation\":private]=>\n    object(PharIo\\Manifest\\License)#11 (2) {\n      [\"name\":\"PharIo\\Manifest\\License\":private]=>\n      string(12) \"BSD-3-Clause\"\n      [\"url\":\"PharIo\\Manifest\\License\":private]=>\n      object(PharIo\\Manifest\\Url)#18 (1) {\n        [\"url\":\"PharIo\\Manifest\\Url\":private]=>\n        string(26) \"https:\u002F\u002Fdomain.tld\u002FLICENSE\"\n      }\n    }\n  }\n  [\"requirements\":\"PharIo\\Manifest\\Manifest\":private]=>\n  object(PharIo\\Manifest\\RequirementCollection)#17 (1) {\n    [\"requirements\":\"PharIo\\Manifest\\RequirementCollection\":private]=>\n    array(1) {\n      [0]=>\n      object(PharIo\\Manifest\\PhpVersionRequirement)#20 (1) {\n        [\"versionConstraint\":\"PharIo\\Manifest\\PhpVersionRequirement\":private]=>\n        object(PharIo\\Version\\SpecificMajorAndMinorVersionConstraint)#24 (3) {\n          [\"originalValue\":\"PharIo\\Version\\AbstractVersionConstraint\":private]=>\n          string(3) \"7.0\"\n          [\"major\":\"PharIo\\Version\\SpecificMajorAndMinorVersionConstraint\":private]=>\n          int(7)\n          [\"minor\":\"PharIo\\Version\\SpecificMajorAndMinorVersionConstraint\":private]=>\n          int(0)\n        }\n      }\n    }\n  }\n  [\"bundledComponents\":\"PharIo\\Manifest\\Manifest\":private]=>\n  object(PharIo\\Manifest\\BundledComponentCollection)#8 (1) {\n    [\"bundledComponents\":\"PharIo\\Manifest\\BundledComponentCollection\":private]=>\n    array(0) {\n    }\n  }\n}\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003Cphar xmlns=\"https:\u002F\u002Fphar.io\u002Fxml\u002Fmanifest\u002F1.0\">\n    \u003Ccontains name=\"some\u002Flibrary\" version=\"1.0.0\" type=\"library\"\u002F>\n    \u003Ccopyright>\n        \u003Cauthor name=\"Reiner Zufall\" email=\"reiner@zufall.de\"\u002F>\n        \u003Clicense type=\"BSD-3-Clause\" url=\"https:\u002F\u002Fdomain.tld\u002FLICENSE\"\u002F>\n    \u003C\u002Fcopyright>\n    \u003Crequires>\n        \u003Cphp version=\"7.0\"\u002F>\n    \u003C\u002Frequires>\n\u003C\u002Fphar>\n```\n\u003C\u002Fdetails>\n\n### Create via API\n```php\n$bundled = new \\PharIo\\Manifest\\BundledComponentCollection();\n$bundled->add(\n    new \\PharIo\\Manifest\\BundledComponent('vendor\u002FpackageA', new \\PharIo\\Version\\Version('1.2.3-dev')\n    )\n);\n\n$manifest = new PharIo\\Manifest\\Manifest(\n    new \\PharIo\\Manifest\\ApplicationName('vendor\u002Fpackage'),\n    new \\PharIo\\Version\\Version('1.0.0'),\n    new \\PharIo\\Manifest\\Library(),\n    new \\PharIo\\Manifest\\CopyrightInformation(\n        new \\PharIo\\Manifest\\AuthorCollection(),\n        new \\PharIo\\Manifest\\License(\n            'BSD-3-Clause',\n            new \\PharIo\\Manifest\\Url('https:\u002F\u002Fspdx.org\u002Flicenses\u002FBSD-3-Clause.html')\n        )\n    ),\n    new \\PharIo\\Manifest\\RequirementCollection(),\n    $bundled\n);\n\necho (new ManifestSerializer)->serializeToString($manifest);\n```\n\n\u003Cdetails>\n  \u003Csummary>Output\u003C\u002Fsummary>\n    \n```xml\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003Cphar xmlns=\"https:\u002F\u002Fphar.io\u002Fxml\u002Fmanifest\u002F1.0\">\n    \u003Ccontains name=\"vendor\u002Fpackage\" version=\"1.0.0\" type=\"library\"\u002F>\n    \u003Ccopyright>\n        \u003Clicense type=\"BSD-3-Clause\" url=\"https:\u002F\u002Fspdx.org\u002Flicenses\u002FBSD-3-Clause.html\"\u002F>\n    \u003C\u002Fcopyright>\n    \u003Crequires>\n        \u003Cphp version=\"*\"\u002F>\n    \u003C\u002Frequires>\n    \u003Cbundles>\n        \u003Ccomponent name=\"vendor\u002FpackageA\" version=\"1.2.3-dev\"\u002F>\n    \u003C\u002Fbundles>\n\u003C\u002Fphar>\n```\n    \n\u003C\u002Fdetails>\n\n","phar-io\u002Fmanifest 是一个用于从 PHP 归档文件（PHAR）中读取 phar.io 清单信息的组件。它提供了 ManifestLoader 和 ManifestSerializer 类，可以方便地加载和序列化清单数据，支持解析应用名称、版本号、类型、版权信息等核心元数据。该库采用 Composer 进行依赖管理，易于集成到 PHP 项目中。适用于需要处理 PHAR 文件场景，如构建工具、自动化部署脚本或任何需要验证 PHAR 文件内容正确性的场合。","2026-06-11 03:16:57","top_language"]