PHPackages                             pharmaline/phlabc - 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. [Security](/categories/security)
4. /
5. pharmaline/phlabc

ActiveTypo3-cms-extension[Security](/categories/security)

pharmaline/phlabc
=================

Pharmaline Extension to manage access to objects, content and actions with permissions.

2.0.0(2mo ago)7140↓61.9%GPL-3.0-or-laterPHPPHP ^8.4

Since Jan 26Pushed 2mo agoCompare

[ Source](https://github.com/Pharmaliner/phlabc)[ Packagist](https://packagist.org/packages/pharmaline/phlabc)[ RSS](/packages/pharmaline-phlabc/feed)WikiDiscussions main Synced 3d ago

READMEChangelogDependencies (34)Versions (9)Used By (0)

[![Logo of extension phlabc](documentation/assets/logo.png)](documentation/assets/logo.png)

phlabc
======

[](#phlabc)

Foreword 📖
----------

[](#foreword-)

In modern web applications, fine-grained control of user permissions plays a crucial role—especially when it comes to access to sensitive content and features in the frontend. The TYPO3 extension **phlabc** was developed with exactly this goal in mind: to provide flexible, centralised, and fine-grained management of permissions for frontend users.

Based on the well-established Symfony Voter concept, this extension offers an elegant and powerful architecture that allows access rights to be controlled not only at the action level but also for individual objects. This opens up a wide range of possibilities for developers and administrators to create a secure yet user-friendly experience.

phlabc integrates seamlessly with TYPO3 and leverages established mechanisms such as user and group management, as well as role models. The extension places particular emphasis on extensibility and ease of use, enabling it to support both standard applications and complex scenarios.

We hope this extension helps you equip your TYPO3 projects with robust and flexible frontend permission control and wish you every success in meeting your individual requirements.

Table of contents
-----------------

[](#table-of-contents)

- [1. Foreword 📖](#foreword-)
- [2. Concept 💡](./documentation/Concept.md)
- 3. Documentation 📚🛠️
    - [3.1. Installation 📦](./documentation/Installation.md)
    - [Requirements 📋✅](./documentation/Installation.md#requirements-)
    - [Step-by-step guide 🪜📝](./documentation/Installation.md#step-by-step-guide-)
    - [Integration of the Extension with Permissions, Roles, and Presets](./documentation/Integration.md#integration-of-the-extension-with-permissions-roles-and-presets)
        - [Overview](./documentation/Integration.md#overview)
        - [1. Integration in composer.json](./documentation/Integration.md#1-integration-in-composerjson)
        - [2. Definition of Permissions (permissions.yaml)](./documentation/Integration.md#2-definition-of-permissions-permissionsyaml)
        - [3. Definition of Roles (roles.yaml)](./documentation/Integration.md#3-definition-of-roles-rolesyaml)
        - [4. Definition of Presets (presets.yaml)](./documentation/Integration.md#4-definition-of-presets-presetsyaml)
        - [5. Specials and Advanced Features for Presets](./documentation/Integration.md#5-specials-and-advanced-features-for-presets)
            - [5.1 Wildcard \*](./documentation/Integration.md#51-wildcard-)
            - [5.2 Partial Wildcards PART\_OF\_PERMISSION\_NAME\_\*](./documentation/Integration.md#52-partial-wildcards-part_of_permission_name_)
        - [6. Importing the Configuration](./documentation/Integration.md#6-importing-the-configuration)
    - [Usage Guide 📘](./documentation/usage/UsageGuide.md)
        - [Checking User Permissions 🔐](./documentation/usage/UsageGuide.md#checking-user-permissions-)
        - [How It Works 🧠](./documentation/usage/UsageGuide.md#how-it-works-)
        - [Parameters 🔧](./documentation/usage/UsageGuide.md#parameters-)
        - [Best Practices 🔄](./documentation/usage/UsageGuide.md#best-practices-)
        - [Advanced Usage: Passing a Subject to `vote()` ➕](./documentation/usage/UsageGuide.md#advanced-usage-passing-a-subject-to-vote-)
        - [Implementation Example ✅](./documentation/usage/UsageGuide.md#implementation-example-)
            - [Implementation Controller](./documentation/usage/Controller.md)
                - [Purpose and Usage](./documentation/usage/Controller.md#-purpose-and-usage)
                - [Dependencies](./documentation/usage/Controller.md#-dependencies)
                - [Constructor](./documentation/usage/Controller.md#-constructor)
                - [Method: indexAction](./documentation/usage/Controller.md#-method-indexaction)
                - [Access Control](./documentation/usage/Controller.md#access-control)
                - [Parameters](./documentation/usage/Controller.md#-parameters)
                - [Return Value](./documentation/usage/Controller.md#return-value)
                - [Example Code](./documentation/usage/Controller.md#full-example-code)
            - [Implementation Service](./documentation/usage/Service.md)
                - [Namespace &amp; Dependencies](./documentation/usage/Service.md#namespace--dependencies)
                - [Constructor](./documentation/usage/Service.md#constructor)
                - [Method: serviceMethod()](./documentation/usage/Service.md#method-servicemethod)
                - [Purpose](./documentation/usage/Service.md#purpose)
                - [Logic](./documentation/usage/Service.md#logic)
                - [Example Usage](./documentation/usage/Service.md#example-usage)
                - [Benefits](./documentation/usage/Service.md#benefits)
                - [Extensibility](./documentation/usage/Service.md#extensibility)
            - [Implementation Static Access](./documentation/usage/StaticAccess.md)
                - [Purpose and Motivation](./documentation/usage/StaticAccess.md#purpose-and-motivation)
                - [Why is this approach necessary?](./documentation/usage/StaticAccess.md#why-is-this-approach-necessary)
                - [Component Breakdown](./documentation/usage/StaticAccess.md#component-breakdown)
                - [VoterInterface](./documentation/usage/StaticAccess.md#voterinterface)
                - [VoterServiceLocator](./documentation/usage/StaticAccess.md#voterservicelocator)
                - [Constructor](./documentation/usage/StaticAccess.md#constructor)
                - [Static Method: serviceFunction()](./documentation/usage/StaticAccess.md#static-method-servicefunction)
                - [Example usage](./documentation/usage/StaticAccess.md#example-usage)
                - [Benefits of This Design](./documentation/usage/StaticAccess.md#benefits-of-this-design)
                - [Limitations and Considerations](./documentation/usage/StaticAccess.md#limitations-and-considerations)
                - [Conclusion](./documentation/usage/StaticAccess.md#conclusion)
            - [Implementation ViewHelper](./documentation/usage/ViewHelper.md)
                - [Declaration](./documentation/usage/ViewHelper.md#-viewhelper-declaration)
                - [Parameters](./documentation/usage/ViewHelper.md#-parameters)
                - [Code Example](./documentation/usage/ViewHelper.md#code-example)
                - [How it works](./documentation/usage/ViewHelper.md#how-it-works)
                - [Purpose](./documentation/usage/ViewHelper.md#purpose)
                - [Usage Instructions](./documentation/usage/ViewHelper.md#usage-instructions)
                - [Example Usage](./documentation/usage/ViewHelper.md#example-usage)
- [Contact](#contact)

Contact
-------

[](#contact)

If you have any questions, problems or suggestions for improving the extension, please feel free to contact us:

**Publisher**
- **Name:** Pharmaline GmbH
- **E-Mail:**
- **GitHub Issues:**
- **Website:** **Developer**
- **Name:** MCEikens
- **E-Mail:**
- **GitHub Issues:**
- **Website:**

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance86

Actively maintained with recent releases

Popularity19

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity57

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

Total

5

Last Release

75d ago

Major Versions

1.1.0 → 2.0.02026-04-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/7a71e353cb3b20f168b67af6ebb110f89225af31e2dceeed3b20e038f3254147?d=identicon)[pharmaline](/maintainers/pharmaline)

---

Top Contributors

[![eikedrost](https://avatars.githubusercontent.com/u/23308585?v=4)](https://github.com/eikedrost "eikedrost (42 commits)")

---

Tags

securitytypo3typo3-extensionTYPO3 Frontend LoginTYPO3 Felogin

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/pharmaline-phlabc/health.svg)

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

###  Alternatives

[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22260.2k](/packages/eliashaeussler-typo3-warming)[typo3/cms-core

TYPO3 CMS Core

3713.2M5.1k](/packages/typo3-cms-core)[pagemachine/searchable

TYPO3 extension to index and search content with Elasticsearch

1139.9k](/packages/pagemachine-searchable)[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)

PHPackages © 2026

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