PHPackages                             ylixir/phap - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. ylixir/phap

AbandonedArchivedLibrary[Parsing &amp; Serialization](/categories/parsing)

ylixir/phap
===========

Php Has Another Parser

0.6.0(7y ago)441[14 issues](https://github.com/ylixir/phap/issues)[1 PRs](https://github.com/ylixir/phap/pulls)LGPL-3.0-or-laterPHPPHP ^7.2.0

Since Jan 25Pushed 6y ago1 watchersCompare

[ Source](https://github.com/ylixir/phap)[ Packagist](https://packagist.org/packages/ylixir/phap)[ RSS](/packages/ylixir-phap/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (2)Versions (11)Used By (0)

Php Has Another Parser
======================

[](#php-has-another-parser)

[![Build Status](https://camo.githubusercontent.com/9ff93b3d522f64d6630411a41c67b939c02ce0c5feefa35a7334c1fde679aaa2/68747470733a2f2f7777772e7472617669732d63692e636f6d2f796c697869722f706861702e7376673f6272616e63683d6d6173746572)](https://www.travis-ci.com/ylixir/phap)

[![Waffle.io - Columns and their card count](https://camo.githubusercontent.com/57e7b149bc9cd2539aee825a35db08e05a95718aa89ecc59c19ebc93caff403b/68747470733a2f2f62616467652e776166666c652e696f2f796c697869722f706861702e7376673f636f6c756d6e733d616c6c)](https://waffle.io/ylixir/phap)

This project aims to build a simple, easy, and lightweight parser library.

Parsers written with this tool should be exceptionally easy to read and modify.

Currently I am still exploring the best API for these needs. Expect breaking changes while we travel down the road to 1.0.

In the meantime, you can get an idea of where we stand by perusing the waffle board linked above.

Reference
=========

[](#reference)

Example code [can be found here](test/Integration/functional_examples.php)

Contributions
=============

[](#contributions)

Any and all help is greatly appreciated. Feel free to open pull requests, issues, start a conversation on an issue, etc.

We provide a dedicated development environment to make it easy to get started.

Travis builds
=============

[](#travis-builds)

We use Travis-CI to enforce automated quality control and to manage deployments of new versions.

There is a page I can't find from the travis ui. You can diagnose failed travis builds from [here](https://www.travis-ci.com/ylixir/phap/requests).

References
==========

[](#references)

Inspired from [this article](http://theorangeduck.com/page/you-could-have-invented-parser-combinators) and leaning heavily [on others wisdom](https://package.elm-lang.org/packages/elm/parser/latest/Parser)

Alternatives
============

[](#alternatives)

[https://www.reddit.com/r/PHP/comments/7l3lhu/state\_of\_php\_based\_parser\_generators/](https://www.reddit.com/r/PHP/comments/7l3lhu/state_of_php_based_parser_generators/)

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~6 days

Total

8

Last Release

2622d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/37718846b77e4e624fe5e1a661eb05e48f0c6c5735e571a2492ef4b03a95f8d1?d=identicon)[ylixir](/maintainers/ylixir)

---

Top Contributors

[![ylixir](https://avatars.githubusercontent.com/u/6045286?v=4)](https://github.com/ylixir "ylixir (123 commits)")

---

Tags

parserlexerparseparsinglexinglex

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ylixir-phap/health.svg)

```
[![Health](https://phpackages.com/badges/ylixir-phap/health.svg)](https://phpackages.com/packages/ylixir-phap)
```

###  Alternatives

[doctrine/lexer

PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.

11.2k910.8M118](/packages/doctrine-lexer)[jakubledl/dissect

Lexing and parsing in pure PHP

2244.6M11](/packages/jakubledl-dissect)[cerbero/json-parser

Zero-dependencies pull parser to read large JSON from any source in a memory-efficient way.

803474.6k5](/packages/cerbero-json-parser)[parsica-php/parsica

The easiest way to build robust parsers in PHP.

412140.4k4](/packages/parsica-php-parsica)[creof/geo-parser

Parser for geography coordinate strings

624.4M15](/packages/creof-geo-parser)[creof/wkt-parser

Parser for well-known text (WKT) object strings

554.8M16](/packages/creof-wkt-parser)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
