gitwtfhub

wtf is manifest?

phar-io/manifest — explained in plain English

Analysis updated 2026-06-24

7,487PHPAudience · developerComplexity · 2/5Setup · easy

TL;DR

A PHP library that reads and writes XML manifest files for PHP Archive (PHAR) packages, describing their version, license, author info, and bundled dependencies.

Mindmap

mindmap
  root((manifest))
    What it does
      Read PHAR manifests
      Write PHAR manifests
      Serialize to XML
    Manifest contents
      Name and version
      License info
      Author details
      PHP requirements
      Bundled packages
    Tech stack
      PHP
      XML
      Composer
    Audience
      PHP tool developers
      Indirect dependency
      phar.io ecosystem

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Inspect an existing PHAR archive's declared dependencies and PHP version requirements programmatically.

REASON 2

Generate a valid XML manifest when building your own PHP tool packaged as a PHAR file.

REASON 3

Validate that a PHAR's manifest correctly records its author and license before publishing.

What's in the stack?

PHPComposerXML

How it stacks up

phar-io/manifestsebastianbergmann/php-file-iteratorlcobucci/jwt
Stars7,4877,4917,479
LanguagePHPPHPPHP
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min
No license information was mentioned in the explanation.

Wtf does this do

This is a PHP library for reading and writing manifest files associated with PHP Archives, which are single-file bundles of PHP applications or libraries with a .phar extension. A manifest in this context is an XML file that describes the archive's name, version, license, author information, PHP version requirements, and any other packages bundled inside it. The library lets you load a manifest from an existing XML file and inspect its contents as PHP objects, or build a manifest from scratch in code and serialize it back to XML. The README shows both approaches with code examples and their expected output. This is a developer utility used behind the scenes by PHP tooling, particularly within the phar.io ecosystem, which is a distribution channel for PHP tools packaged as PHAR archives. Most PHP developers would encounter this library as an indirect dependency pulled in by tools like PHPUnit or Composer rather than using it directly. Installation is handled through Composer, the standard PHP package manager. It can be added as a regular dependency or a development-only dependency depending on your needs.

Yoink these prompts

Prompt 1
Using the phar-io/manifest PHP library, write code that loads a manifest.xml from a PHAR file and prints the declared PHP version requirement and all bundled package names.
Prompt 2
Show me how to build a new phar-io/manifest Manifest object in PHP with a package name, version, author, and MIT license, then serialize it to an XML string.
Prompt 3
I have an existing PHAR archive. Using phar-io/manifest, write a PHP script that reads its manifest and checks whether the declared minimum PHP version is satisfied by the current PHP runtime.
Prompt 4
Write a Composer install command for phar-io/manifest as a dev dependency, then show the minimal PHP code to parse a manifest.xml file and list all contained packages.

Frequently asked questions

wtf is manifest?

A PHP library that reads and writes XML manifest files for PHP Archive (PHAR) packages, describing their version, license, author info, and bundled dependencies.

What language is manifest written in?

Mainly PHP. The stack also includes PHP, Composer, XML.

What license does manifest use?

No license information was mentioned in the explanation.

How hard is manifest to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is manifest for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.