PHPackages                             coshi/preacher - 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. [Database &amp; ORM](/categories/database)
4. /
5. coshi/preacher

ActiveLibrary[Database &amp; ORM](/categories/database)

coshi/preacher
==============

Active record layer on top of doctrine dbal

220PHP

Since Jan 21Pushed 13y ago4 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

Preacher
========

[](#preacher)

Preacher on doctrine! Preacher is Active Record library build on top of Doctrine\\DBAL It is aimed for small projects, where you would like to have some data abstraction and Doctrine\\ORM is just too much. For example, simple CMS or Silex based webapp.

Usage
-----

[](#usage)

We assume that you know how to get Doctrine\\DBAL to work. In your project bootstrap file, put:

```
use coshi\Preacher\Model\Base as BaseModel;

BaseModel::initialize($conn);

```

where $conn is Doctrine\\DBAL\\Connection instance.

Next create your db structure, and yes Preacher can help you with this (Documentation for this is being written) Create model classes that extends coshi\\Preacher\\Model\\Base class.

```
class User extends BaseModel
{
    static $tableName = 'users';
    static $alias = 'u';

    public static $primaryKey = 'id';

}

```

And that's all, Now you can do some basic CRUD.

```
$u1 = new User();
$u1->username = 'Preacher';
$u1->password = 'bible';
$u1->save();

```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

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

---

Top Contributors

[![kozog](https://avatars.githubusercontent.com/u/178385?v=4)](https://github.com/kozog "kozog (18 commits)")

### Embed Badge

![Health badge](/badges/coshi-preacher/health.svg)

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

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

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