PHPackages                             dmelo/dzend - 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. dmelo/dzend

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

dmelo/dzend
===========

A set of classes to wrap around Zend v1. It' goal is to make common patterns easier to implement and to transparently add commonly used functionalities.

1.0.9(10y ago)1148[3 issues](https://github.com/dmelo/DZend/issues)1PHPPHP &gt;= 5.4.0

Since May 4Pushed 9y ago1 watchersCompare

[ Source](https://github.com/dmelo/DZend)[ Packagist](https://packagist.org/packages/dmelo/dzend)[ RSS](/packages/dmelo-dzend/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (4)Versions (10)Used By (1)

DZend
=====

[](#dzend)

DZend is a set of classes to wrap around `Zend`. It' goal is to make common patterns easier to implement and to transparently add commonly used functionalities.

If a Zend class is wrapped at DZend, then it's name will be the same as the Zend class but with a D at the beginning, but there is no abstract tables at DZend. For instance, `DZend_Db_Table` extends `Zend_Db_Table_Abstract`.

Prerequisite
------------

[](#prerequisite)

PHP 5.4 &gt;=

Bootstrap
---------

[](#bootstrap)

The bootstrap instantiate a few commonly used tools.

### Logger

[](#logger)

Instantiate `Zend_Log` and write it on registry. To access this instance just call:

```
Zend_Registry::get('looger');

```

All the logs will be written on the file `public/tmp/log.txt`.

### Internationalization

[](#internationalization)

A `Zend_Translate` instance is already included on the registry `translate`. Similarly to the logger, to access the translate object, call:

```
Zend_Registry::get('translate');

```

The detection of the locale is made automatically, in case none is found, `en_US` is the default.

Controller
----------

[](#controller)

TODO...

Database
--------

[](#database)

`DZend_Db_Table`
----------------

[](#dzend_db_table)

The class `DZend_Db_Table` implements the `__call` magic function to add a few functionalities to select queries. For instance, let `DbTable_User` extends `DZend_Db_Table` and represents the `user` database table. To find all female users, just use the call `$userDb->findByGender('f')`, where `$userDb` is an instance of `DbTable_User`. DZend parses the function name recognize the columns.

The "And" can be used to separate column names. The method of format `findByColumnAAndColumnBAndColumnC($a, $b, $c)` will return a `Zend_Db_Table_Rowset`containing all rows that have `column_a = $a AND column_b = $b AND column_c = $c`.

To fetch just a `Zend_Db_Table_Row` instead of a rowset, use `findRowBy`, instead of `findBy`.

Similar to `findBy`, there is also `deleteBy`, which deletes all matching rows.

### Registry Cache

[](#registry-cache)

If the class extending `DZend_Db_Table` set `$_allowRequestCache` to true, then rows will be cached by ID, when using the methods `findById` or `findRowById`. Beware that the cache lasts only during the request. Also, be mindful that changed objects are not updated on cache. If an object is fetched and then updated. Feching the object a second time will bring the old object.

### `insertMulti` Method

[](#insertmulti-method)

While `Zend_Db_Table` provides a method `insert` that inserts a single row, `DZend_Db_Table` provides the `insertMulti` method that gets an array of data arrays, to insert multiple rows.

`DZend_Db_Table_Row`
--------------------

[](#dzend_db_table_row)

Usually SQL names for databases, tables and columns uses underscore notation while programming uses camel notation. `DZend_Db_Table_Row` automatically converts between one another. Let `$row` be an instance of `DZend_Db_Table_Row`. `$row->columnName` can be used to access the column value for `column_name`.

CurrentUser
-----------

[](#currentuser)

The pre-requisite to get this trait working properly is to have the auth to store the currently logged in user row on `DZend_Session_Namespace::get('session')->user`. It assumes that the `id`attribute holds the primary key for the user.

`DZend_CurrentUser` is a trait that provider two methods, `_getUserRow()` and `_getUserId()`. In case there is not user logged, in it returns `null`.

By default, `DZend_Model` and `DZend_Db_Table` already extends this trait.

PHPUnit
-------

[](#phpunit)

TODO...

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity64

Established project with proven stability

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

Recently: every ~135 days

Total

9

Last Release

3665d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/05ab8aebb8755f73e27f31b70bc7b64536abec420fdcf30f3f7c6bc3c45ee639?d=identicon)[dmelo](/maintainers/dmelo)

---

Top Contributors

[![dmelo](https://avatars.githubusercontent.com/u/89710?v=4)](https://github.com/dmelo "dmelo (183 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dmelo-dzend/health.svg)

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

###  Alternatives

[yii2mod/yii2-c3-chart

Yii2 wrapper for D3-based reusable chart library

1193.6k](/packages/yii2mod-yii2-c3-chart)

PHPackages © 2026

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