PHPackages                             phly/phly-restfully - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. phly/phly-restfully

Abandoned → [zfcampus/zf-apigility](/?search=zfcampus%2Fzf-apigility)ArchivedLibrary[HTTP &amp; Networking](/categories/http)

phly/phly-restfully
===================

ZF2 Module providing structure for RESTful resources

2.3.1(9y ago)10714.1k45[15 issues](https://github.com/phly/PhlyRestfully/issues)BSD-2-ClausePHPPHP ^5.5 || ^7.0

Since Jan 21Pushed 4y ago1 watchersCompare

[ Source](https://github.com/phly/PhlyRestfully)[ Packagist](https://packagist.org/packages/phly/phly-restfully)[ Docs](https://github.com/weierophinney/PhlyRestfully)[ RSS](/packages/phly-phly-restfully/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (15)Versions (17)Used By (0)

PhlyRestfully: ZF2 Module for JSON REST Services
================================================

[](#phlyrestfully-zf2-module-for-json-rest-services)

> ## ABANDONED
>
> [](#abandoned)
>
> As of the 2.3.0 release, I have marked this module as abandoned.
>
> The module very quickly proved that the approach was worthwhile and useful, and became the seed for [Apigility](https://apigility.org/). That project has far surpassed its origins in this module, and added a ton of functionality this module never managed to create, such as content negotiation, file upload handling, entity and collection hydration, and more.
>
> As such, I recommend using Apigility in favor of PhlyRestfully for new projects, and that existing projects migrate to Apigility when possible.

This module provides structure and code for quickly implementing RESTful APIs that use JSON as a transport.

It allows you to create RESTful JSON APIs that use the following standards:

- [HAL](http://tools.ietf.org/html/draft-kelly-json-hal-03), used for creating hypermedia links
- [Problem API](http://tools.ietf.org/html/draft-nottingham-http-problem-02), used for reporting API problems

[Documentation is available at rtfd.org](https://phlyrestfully.readthedocs.org/en/latest/).

Upgrading
=========

[](#upgrading)

If you were using version 1.0.0 or earlier (the version presented at PHP Benelux 2013), you will need to make some changes to your application to get it to work.

- First, the terminology has changed, as have some class names, to reference "resources" instead of "items"; this is more in line with RESTful terminology.
    - As such, if you had any code using `PhlyRestfully\HalItem`, it should now reference `PhlyRestfully\HalResource`. Similarly, in that class, you will access the actual resource object now from the `resource` property instead of the `item` property. (This should only affect those post-1.0.0).
    - If you want to create link for an individual resource, use the `forResource` method of `HalLinks`, and not the `forItem` method.
    - `InvalidItemException` was renamed to `InvalidResourceException`.
- A number of items were moved from the `RestfulJsonModel` to the `RestfulJsonRenderer`.
    - Hydrators
    - The flag for displaying exception backtraces; in fact, you can use the `view_manager.display_exceptions` configuration setting to set this behavior.
- All results from the `ResourceController` are now pushed to a `payload`variable in the view model.
    - Additionally, `ApiProblem`, `HalResource`, and `HalCollection` are first-class objects, and are used as the `payload` values.
- The `Links` plugin was renamed to `HalLinks`, and is now also available as a view helper.

LICENSE
=======

[](#license)

This module is licensed using the BSD 2-Clause License:

```
Copyright (c) 2013, Matthew Weier O'Phinney
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

```

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

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

###  Release Activity

Cadence

Every ~102 days

Recently: every ~273 days

Total

13

Last Release

3640d ago

Major Versions

1.0.0 → 2.0.0beta12013-03-21

PHP version history (2 changes)1.0.0PHP &gt;=5.3.3

2.3.0PHP ^5.5 || ^7.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/25943?v=4)[Matthew Weier O'Phinney](/maintainers/weierophinney)[@weierophinney](https://github.com/weierophinney)

---

Top Contributors

[![weierophinney](https://avatars.githubusercontent.com/u/25943?v=4)](https://github.com/weierophinney "weierophinney (527 commits)")[![acabala](https://avatars.githubusercontent.com/u/530622?v=4)](https://github.com/acabala "acabala (11 commits)")[![MichaelGooden](https://avatars.githubusercontent.com/u/1275012?v=4)](https://github.com/MichaelGooden "MichaelGooden (9 commits)")[![andrewscaya](https://avatars.githubusercontent.com/u/15166159?v=4)](https://github.com/andrewscaya "andrewscaya (8 commits)")[![telkins](https://avatars.githubusercontent.com/u/53731?v=4)](https://github.com/telkins "telkins (6 commits)")[![Wilt](https://avatars.githubusercontent.com/u/2419627?v=4)](https://github.com/Wilt "Wilt (5 commits)")[![zluiten](https://avatars.githubusercontent.com/u/1336070?v=4)](https://github.com/zluiten "zluiten (1 commits)")[![artdevgame](https://avatars.githubusercontent.com/u/353729?v=4)](https://github.com/artdevgame "artdevgame (1 commits)")[![edandersen](https://avatars.githubusercontent.com/u/548636?v=4)](https://github.com/edandersen "edandersen (1 commits)")[![pwarelis](https://avatars.githubusercontent.com/u/40091?v=4)](https://github.com/pwarelis "pwarelis (1 commits)")

---

Tags

restzendmodulezf2

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/phly-phly-restfully/health.svg)

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

###  Alternatives

[zfr/zfr-rest

Zend Framework 2 REST Module.

8120.6k](/packages/zfr-zfr-rest)[zfr/zfr-cors

Zend Framework module that let you deal with CORS requests

611.2M3](/packages/zfr-zfr-cors)

PHPackages © 2026

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