PHPackages                             bridn/taxonomy - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. bridn/taxonomy

ActiveCakephp-plugin[Utility &amp; Helpers](/categories/utility)

bridn/taxonomy
==============

Simple Taxonomy plugin for CakePHP 3.x

v0.3(11y ago)501[1 issues](https://github.com/Bridn/CakePHP-3.x-Taxonomy-Plugin/issues)MITPHPPHP &gt;=5.4.19

Since Sep 19Pushed 11y ago4 watchersCompare

[ Source](https://github.com/Bridn/CakePHP-3.x-Taxonomy-Plugin)[ Packagist](https://packagist.org/packages/bridn/taxonomy)[ Docs](https://github.com/Bridn/CakePHP-3.x-Taxonomy-Plugin)[ RSS](/packages/bridn-taxonomy/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (3)Dependencies (2)Versions (4)Used By (0)

CakePHP 3.x Taxonomy Plugin
===========================

[](#cakephp-3x-taxonomy-plugin)

Simple Taxonomy Plugin, you will be able to add tags or categories etc. to your entity.

### Requirements

[](#requirements)

- CakePHP 3.x
- CakePHP Migrations Plugin (Phinx &gt;= v0.3.8)

### 1 - First, use Migrations plugin to create tables

[](#1---first-use-migrations-plugin-to-create-tables)

```
cd to your app path
src/Console/cake migrations migrate -p Taxonomy

```

More information about Migrations at :

### 2 - Load the Taxonomy plugin (app/config/bootstrap.php)

[](#2---load-the-taxonomy-plugin-appconfigbootstrapphp)

```
Plugin::load('Taxonomy', ['bootstrap' => false, 'routes' => true]);

```

### 3 - Add behaviors to your Table model :

[](#3---add-behaviors-to-your-table-model-)

```
public function initialize(array $config)
{
    $this->addBehavior('Taxonomy.TaxonomySync');
    $this->addBehavior('Taxonomy.TaxonomyFinder');
}

```

- TaxonomySync Behavior create/update/clean your terms.
- TaxonomyFinder Behavior manage all kind of queries. If you don't want to overload your queries, dettach it on the fly.

The Taxonomy plugin use polymorph associations, it is automatically associated to your model.

### 4 - Use the TaxonomyHelper to add tags to your content.

[](#4---use-the-taxonomyhelper-to-add-tags-to-your-content)

Add the helper to your content controller.

```
public $helpers = ['Taxonomy.Taxonomy'];

```

After each query on your content, the plugin will return an object and an array of terms attached to your content. The first parameter 'tag' will be used to group your terms in DB (don't translate this), the second must include your entity object, the third is an array of cakephp form params (label, row etc.) e.g. for a french form :

```

```

### 5 - Queries in controller

[](#5---queries-in-controller)

To return all terms by table and type (articles controller) :

```
$articles = $this->{$this->name}->find('all');
$categories = $this->{$this->name}->listAllTermsByType('category');
$this->set(compact('articles', 'categories'));

```

Or

To return all relationships used by a table for a given term id (articles controller):

```
$categories = $this->{$this->name}->listAllByTableAndByTerm($id);
$this->set(compact('categories'));

```

### 6 - Note

[](#6---note)

Separate your words with ";"

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity50

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 ~7 days

Total

2

Last Release

4287d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/94c01269f8a99e32f44d7cb8f7c954b02dca78c22648bb72728ddad38c00a3e1?d=identicon)[Bridn](/maintainers/Bridn)

---

Top Contributors

[![Bridn](https://avatars.githubusercontent.com/u/1321497?v=4)](https://github.com/Bridn "Bridn (55 commits)")

---

Tags

cakephptaxonomy

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bridn-taxonomy/health.svg)

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

###  Alternatives

[dereuromark/cakephp-tools

A CakePHP plugin containing lots of useful and reusable tools

333972.2k49](/packages/dereuromark-cakephp-tools)[cakephp/bake

Bake plugin for CakePHP

11211.7M190](/packages/cakephp-bake)[markstory/asset_compress

An asset compression plugin for CakePHP. Provides file concatenation and a flexible filter system for preprocessing and minification.

3701.1M15](/packages/markstory-asset-compress)[dereuromark/cakephp-queue

The Queue plugin for CakePHP provides deferred task execution.

308914.0k25](/packages/dereuromark-cakephp-queue)[dereuromark/cakephp-ide-helper

CakePHP IdeHelper Plugin to improve auto-completion

1882.3M40](/packages/dereuromark-cakephp-ide-helper)[dereuromark/cakephp-dto

A CakePHP plugin for generating immutable Data Transfer Objects with full type safety

3096.0k5](/packages/dereuromark-cakephp-dto)

PHPackages © 2026

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