PHPackages                             techlivezheng/phpctags - 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. techlivezheng/phpctags

ActiveLibrary

techlivezheng/phpctags
======================

An enhanced php ctags index generator.

0.11.0(1y ago)26440.9k↓40.6%48[2 issues](https://github.com/techlivezheng/phpctags/issues)[2 PRs](https://github.com/techlivezheng/phpctags/pulls)1PHPPHP &gt;=7.4CI passing

Since Aug 26Pushed 3mo ago10 watchersCompare

[ Source](https://github.com/techlivezheng/phpctags)[ Packagist](https://packagist.org/packages/techlivezheng/phpctags)[ RSS](/packages/techlivezheng-phpctags/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (2)Versions (18)Used By (1)

phpctags
========

[](#phpctags)

An enhanced php [ctags](http://ctags.sourceforge.net/) index file generator compatible with .

Using [PHP\_Parser](https://github.com/nikic/PHP-Parser) as PHP syntax parsing backend, written in pure PHP. The generated ctags index file contains scope and access information about classes' methods and properties.

This tool was originally developed to enhance the PHP syntax outline surport for vim [tagbar](http://majutsushi.github.com/tagbar/) plugin. The enhanced functionality has been included into an addon plugin for tagbar as [tagbar-phpctags](https://github.com/techlivezheng/tagbar-phpctags).

Enjoy!

Download and installation
-------------------------

[](#download-and-installation)

```
curl -Ss https://raw.githubusercontent.com/vim-php/phpctags/gh-pages/install/phpctags.phar > phpctags
chmod +x phpctags

```

Optionally one can move it into a directory on the `$PATH`:

```
sudo mv phpctags /usr/local/bin/

```

Usage
-----

[](#usage)

Single file:

```
phpctags phpfile.php

```

Tags will be written to a `tags` file. In order to specify a different tags file use the `-f` option:

```
phpctags -f myphp.tags phpfile.php

```

Directory with recursive option:

```
phpctags -f myphp.tags -R target_directory

```

Build
-----

[](#build)

> We currently only support building PHAR executable for \*nix like platform which provides `make` utility. If you are interested in building an executable for other platform, especially for Windows, please help yourself out. It should be easy though (Apologize for not being able to provide any help for this, I am really not a Windows guy), it also would be great if someone could provide a patch for this.

Installation is straightforward, make sure you have PHP's PHAR extension enabled, then run `make` in the root directory of the source, you will get a `phpctags`PHAR executable, add it to your `$PATH`, then you can invoke `phpctags`directly from anywhere.

See [phpctags on packagist](http://packagist.org/packages/techlivezheng/phpctags)for more details.

Requirements
------------

[](#requirements)

- PHP CLI 7.4+
- [PHP-Parser](https://github.com/nikic/PHP-Parser)

Acknowledgements
----------------

[](#acknowledgements)

- [Snapi](https://github.com/sanpii) for composer support.
- [DeMarko](https://github.com/DeMarko) for memory limit support.
- [Sander Marechal](https://github.com/sandermarechal) for improve console support.
- [Mark Wu](https://github.com/markwu) for building a stand-alone PHAR executable.
- [InFog](https://github.com/InFog) for maintaining the project since 2019.

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance64

Regular maintenance activity

Popularity48

Moderate usage in the ecosystem

Community30

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 66% 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 ~327 days

Recently: every ~428 days

Total

15

Last Release

433d ago

PHP version history (3 changes)v0.2PHP &gt;=5.3

0.8.0PHP &gt;=7.0

0.11.0PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/1b0985fdda65c4978256ce5c178f00de67a404502b03fcfb2b059c964d958f3d?d=identicon)[techlivezheng](/maintainers/techlivezheng)

---

Top Contributors

[![weynhamz](https://avatars.githubusercontent.com/u/816673?v=4)](https://github.com/weynhamz "weynhamz (142 commits)")[![InFog](https://avatars.githubusercontent.com/u/72276?v=4)](https://github.com/InFog "InFog (16 commits)")[![markwu](https://avatars.githubusercontent.com/u/196861?v=4)](https://github.com/markwu "markwu (14 commits)")[![tomphp](https://avatars.githubusercontent.com/u/1959183?v=4)](https://github.com/tomphp "tomphp (13 commits)")[![sandermarechal](https://avatars.githubusercontent.com/u/145240?v=4)](https://github.com/sandermarechal "sandermarechal (6 commits)")[![gianarb](https://avatars.githubusercontent.com/u/1630267?v=4)](https://github.com/gianarb "gianarb (6 commits)")[![sanpii](https://avatars.githubusercontent.com/u/113045?v=4)](https://github.com/sanpii "sanpii (2 commits)")[![mr-russ](https://avatars.githubusercontent.com/u/4276703?v=4)](https://github.com/mr-russ "mr-russ (2 commits)")[![dxops](https://avatars.githubusercontent.com/u/1804871?v=4)](https://github.com/dxops "dxops (2 commits)")[![lukepass](https://avatars.githubusercontent.com/u/6429961?v=4)](https://github.com/lukepass "lukepass (2 commits)")[![xcwen](https://avatars.githubusercontent.com/u/1539162?v=4)](https://github.com/xcwen "xcwen (1 commits)")[![fntlnz](https://avatars.githubusercontent.com/u/3083633?v=4)](https://github.com/fntlnz "fntlnz (1 commits)")[![maieul](https://avatars.githubusercontent.com/u/636640?v=4)](https://github.com/maieul "maieul (1 commits)")[![mcuadros](https://avatars.githubusercontent.com/u/1573114?v=4)](https://github.com/mcuadros "mcuadros (1 commits)")[![mirzalazuardi](https://avatars.githubusercontent.com/u/3162927?v=4)](https://github.com/mirzalazuardi "mirzalazuardi (1 commits)")[![musou1500](https://avatars.githubusercontent.com/u/5037195?v=4)](https://github.com/musou1500 "musou1500 (1 commits)")[![nicoder](https://avatars.githubusercontent.com/u/365210?v=4)](https://github.com/nicoder "nicoder (1 commits)")[![No-OBu](https://avatars.githubusercontent.com/u/34192924?v=4)](https://github.com/No-OBu "No-OBu (1 commits)")[![Rican7](https://avatars.githubusercontent.com/u/742384?v=4)](https://github.com/Rican7 "Rican7 (1 commits)")[![apeschar](https://avatars.githubusercontent.com/u/122977?v=4)](https://github.com/apeschar "apeschar (1 commits)")

---

Tags

hacktoberfestphpphp-parserphpctagsctags

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/techlivezheng-phpctags/health.svg)

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

###  Alternatives

[psy/psysh

An interactive shell for modern PHP.

9.8k545.6M719](/packages/psy-psysh)[zircote/swagger-php

Generate interactive documentation for your RESTful API using PHP attributes (preferred) or PHPDoc annotations

5.3k132.9M468](/packages/zircote-swagger-php)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[symfony/maker-bundle

Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.

3.4k111.1M568](/packages/symfony-maker-bundle)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k26.2M1.8k](/packages/infection-infection)

PHPackages © 2026

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