PHPackages                             perryflynn/perrys-tags - 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. [Search &amp; Filtering](/categories/search)
4. /
5. perryflynn/perrys-tags

ActiveLibrary[Search &amp; Filtering](/categories/search)

perryflynn/perrys-tags
======================

Filter data by tags

1.0.2(8y ago)011MITPHPPHP &gt;=5.6.0

Since Jun 24Pushed 8y ago1 watchersCompare

[ Source](https://github.com/perryflynn/PerrysTags)[ Packagist](https://packagist.org/packages/perryflynn/perrys-tags)[ Docs](https://github.com/perryflynn/PerrysTags)[ RSS](/packages/perryflynn-perrys-tags/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

[![Build Status](https://camo.githubusercontent.com/c0efbfd71911bfc36fbb611ae114249e86beb5a86b951fc679e7f95bfffa0ee4/68747470733a2f2f7472617669732d63692e6f72672f7065727279666c796e6e2f506572727973546167732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/perryflynn/PerrysTags)

PerrysTags ist eine PHP Bibliothek welche es ermöglichen soll, Daten nach Tags zu filtern. Sie ist so allgemein gehalten, dass sie sowohl mit Datenbanken als auch mit Datenstrukturen welche zur Programmlaufzeit erzeugt werden zurecht kommt.

Status
------

[](#status)

- In Entwicklung, erste lauffähige Version
- Docs nur in deutsch, muss noch in English umgesetzt werden

Abhängigkeiten
--------------

[](#abhängigkeiten)

Die Bibliothek nutzt PerrysLambda, eine implementierung der C# Lambda Expressions für PHP. PerrysLambda erlaubt sehr einfach das Filtern und Verarbeiten von einfachen und komplexen Datenstrukturen.

Folgende Aufgaben übernimmt PerrysLambda:

- Umwandeln der Tag strings in die entsprechenden Objekte
- Durchsuchen der Tag Collections
- Selektieren von Daten
- Serialisieren der Tag Objekte in die ursprünglichen strings

Workflow MySQL Datenbank
------------------------

[](#workflow-mysql-datenbank)

- Alle verfügbaren Tags aus der MySQL Datenbank mit einem SELECT Statement auslesen. Zum Beispiel `SELECT tagname FROM tags GROUP BY tagname WHERE uid IN (SELECT tag_uid FROM content)`
- Tags in den Objekttyp `TagCollection` importieren
- Nach Tags suchen bzw filtern
- Liste vollständiger Tags in einer weiteren SQL Abfrage zum filtern der eigentlichen Daten verwenden

Siehe hierzu `cliexample.php`.

Code Beispiel
-------------

[](#code-beispiel)

```
