PHPackages                             stagem/zfc-pool - 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. stagem/zfc-pool

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

stagem/zfc-pool
===============

Main Multisite Entity

4170PHP

Since Jan 9Pushed 7y ago2 watchersCompare

[ Source](https://github.com/stagemteam/zfc-pool)[ Packagist](https://packagist.org/packages/stagem/zfc-pool)[ RSS](/packages/stagem-zfc-pool/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

ZF Pool Module
==============

[](#zf-pool-module)

Information
-----------

[](#information)

Nowadays, we hear "multistore", "marketplace", "multidentistry", etc. Many modern systems developing by "multi" principle. This mean system haі one platform but use it different user which don't now about each other.

`ZfcPool` is a universal module which has several implemented `Strategy`s for simple divide your system by global parameters.

If you marked your `Model` as `PoolAware` it will be signal to system apply global condition for all queries relative to this `Model`.

You no longer need to apply the same condition to all queries. You have enough to mark `Model` as `PoolAware`and all work will be done automatically.

### Registered Strategies

[](#registered-strategies)

- **ParamStrategy** - allow you to switch between different `Pool` in one interface. For example, you sell products on different Amazon marketplaces and in one moment of time you want to see details only per one marketplace.
- **DomainStrategy** (not implemented yet) - allow you to manage different domain in one system.
- **UserStrategy** (not implemented yet) - allow you to apply different conditions relative to current user.

Usage
-----

[](#usage)

Mark you `Model` as `PoolAware`, for this use annotation `@Stagem\ZfcPool\Model\Annotation\PoolAware(fieldName="marketplace")`. You should pass in `fieldName` property name from `Model` and not column name from database. In our example, we have `marketplace` field in `Model` and `marketplaceId` column in database.

```
namespace Stagem\Product\Model;

use Doctrine\ORM\Mapping as ORM;
use Stagem\ZfcPool\Model\Annotation\PoolAware;
use Stagem\Amazon\Model\Marketplace;

/**
 * @PoolAware(fieldName="marketplace")
 * @ORM\Entity()
 * @ORM\Table(name="amazon_product_rank")
 */
class Rank
{
    //...

    /**
     * @var Marketplace
     * @ORM\ManyToOne(targetEntity="Stagem\Amazon\Model\Marketplace")
     * @ORM\JoinColumn(name="marketplaceId", referencedColumnName="id", nullable=true)
     */
    private $marketplace;
}
```

After this simple manipulation to all queries to *Rank* Model automatically will be added current Marketplace.

> Notice. `Stagem\Amazon\Model\Marketplace` implement `Stagem\ZfcPool\Model\PoolInterface`.

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 87.5% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/7dbdbd3abed25e11e97a69bc611daa3fe33ad5d1805f2fb32d491c888c4dfb51?d=identicon)[Serhii Popov](/maintainers/Serhii%20Popov)

---

Top Contributors

[![popovserhii](https://avatars.githubusercontent.com/u/1991183?v=4)](https://github.com/popovserhii "popovserhii (14 commits)")[![stagemteam](https://avatars.githubusercontent.com/u/37902825?v=4)](https://github.com/stagemteam "stagemteam (2 commits)")

### Embed Badge

![Health badge](/badges/stagem-zfc-pool/health.svg)

```
[![Health](https://phpackages.com/badges/stagem-zfc-pool/health.svg)](https://phpackages.com/packages/stagem-zfc-pool)
```

###  Alternatives

[lochmueller/calendarize

Create a structure for timely controlled tables (e.g. events) and one plugin for the different output of calendar views (list, detail, month, year, day, week...). The extension is shipped with one default event table, but you can also 'calendarize' your own table/model. It is completely independent and configurable! Use your own models as event items in this calender. Development on https://github.com/lochmueller/calendarize

76161.6k13](/packages/lochmueller-calendarize)

PHPackages © 2026

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