Pop PHP Framework

Free and open source PHP web framework

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)

A major contributor to this article appears to have a close connection with its subject. It may require cleanup to comply with Wikipedia's content policies, particularly neutral point of view. Please discuss further on the talk page. (December 2023) (Learn how and when to remove this message)

|

The topic of this article may not meet Wikipedia's general notability guideline. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.
Find sources: "Pop PHP Framework" – news · newspapers · books · scholar · JSTOR (December 2023) (Learn how and when to remove this message)

|

Some of this article's listed sources may not be reliable. Please help improve this article by looking for better, more reliable sources. Unreliable citations may be challenged and removed. (December 2023) (Learn how and when to remove this message)

|

(Learn how and when to remove this message)

Pop PHP Framework

Developer(s)| Nick Sagona
Initial release| March 19, 2012; 13 years ago (2012-03-19)
Stable release|

5.5.0[1] / February 12, 2025; 6 months ago (2025-02-12)

Repository| Pop PHP Repository
Written in| PHP
Operating system| Cross-platform
Type| Web framework
License| BSD License
Website| popphp.org

The Pop PHP Framework a free and open source PHP Web framework that was created by Nick Sagona. It is distributed under the BSD License and hosted on GitHub. The framework is intended to be utilized for rapid application development, with an emphasis on web applications.

## History

[edit]

Development on the Pop PHP Framework was officially begun by Nick Sagona in late 2011, when he refactored a set of older library components into the first version of Pop PHP, which was released on March 19, 2012. The focus was for Pop PHP to become a more modern, MVC-style web framework with a set of supporting components to assist in building web applications.

After PHP 5.4 was released, Pop PHP 2 was refactored to take advantage of the new features available in PHP 5.4, as well as fully leveraging Composer by breaking out almost all of the components into separate repositories on GitHub. Pop PHP 2 was first released on July 12, 2015.

Pop PHP 3 was a slight refactor of the existing framework, while adding a handful of new components and deprecating a few older components. Version 3 supports PHP 7 and 5.6 and was released on July 9, 2016. The last version, 3.8.0, was released on August 25, 2018. The EOL version 3.8.9 was released on February 24, 2020.

Pop PHP 4 was a refactor of the existing framework that upgraded and improved existing components and focused on leveraging newly available features in PHP 7.4 and 8.0.

Pop PHP 5 was another major refactor of the framework, adding a number of new features and upgrades and focusing on the new features available in PHP 8.2+. The current version, 5.5.0, supports PHP 8.1+ and was released on February 12, 2025.

The framework has been included on a number of "best of" lists for new and up-and-coming PHP Frameworks.[2][3][4][5][6][7][8]

The Pop PHP Framework is the framework on which the open source Phire CMS project was built.[9][10]

### Release history

[edit]

Version 5.5.0 is the current version that is in active development. Versions 4.8.0 and earlier have reached end of life and are no longer supported. A current changelog is maintained for a recent list of changes and how they impact continued development with Pop PHP.[11]

Legend:

Unsupported

Supported

Latest version

Preview version

Future version

Version  | Release date  | Notes

|
|

Unsupported: 1.0.0 | March 19, 2012  |
Unsupported: 1.7.0 | December 1, 2013  | Final Release
Unsupported: 1.7.0 | March 6, 2016  | EOL
Unsupported: 2.0.0 | July 12, 2015  |
Unsupported: 2.1.0 | July 8, 2016  | Final Release
Unsupported: 2.1.0 | August 31, 2017  | EOL
Unsupported: 3.0.0 | July 9, 2016  |
Unsupported: 3.5.0 | February 27, 2017  |
Unsupported: 3.6.0 | August 31, 2017  |
Unsupported: 3.6.5 | May 15, 2018  |
Unsupported: 3.7.0 | June 28, 2018  |
Unsupported: 3.8.0 | August 25, 2018  | Final Release
Unsupported: 3.8.9 | February 24, 2020  | EOL
Unsupported: 4.0.1 | February 9, 2019  |
Unsupported: 4.0.2 | March 12, 2019  |
Unsupported: 4.0.3 | April 9, 2019  |
Unsupported: 4.1.0 | October 17, 2019  |
Unsupported: 4.5.0 | May 28, 2020  |
Unsupported: 4.6.0 | February 12, 2021  |
Unsupported: 4.7.0 | November 16, 2022  |
Unsupported: 4.8.0 | September 3, 2023  | EOL
Supported: 5.0.0 | November 8, 2023  |
Supported: 5.1.0 | December 12, 2023  |
Supported: 5.2.0 | March 4, 2024  |
Supported: 5.3.0 | April 1, 2024  |
Supported: 5.4.0 | September 10, 2024  |
Latest version: 5.5.0 | February 12, 2025  | Current production version

Source: GitHub[12]

## Development

[edit]

While the initial development of the Pop PHP Framework was focused on building web applications, since version 3, Pop PHP fully supports console-based applications to be used on the CLI as well. Pop PHP incorporates current standards, trends and patterns in software development in an attempt to build an ecosystem that is familiar to developers. The framework is heavily unit-tested using PHPUnit and runs through the GitHub Actions workflow platform to ensure the builds of the individual framework components are passing.[13]

Pop PHP 5.5.0 is currently written for and supports PHP 8.2+, and no longer supports PHP <=7.4.

The Pop PHP Framework project welcomes community involvement and contribution via the current available channels.[14]

## Features

[edit]

The base foundation of Pop PHP is the initial set of core components that make up the application stack:

* The Application Object
* The Router
* The Service Locator
* The Event Manager
* The Module Manager
* The Base Controller Class

Additionally, there are a number of other components that are available for use in building an application.[15] Some of the commonly used components and what they include are:

* Database Abstraction (popphp/pop-db)
* Database adapters
* Active record
* Query builder
* SQL migration
* HTTP Abstraction (popphp/pop-http)
* HTTP client & server classes
* Promises
* Headers & Auth
* Request & response handlers
* File uploads
* HTML Form Generation (popphp/pop-form)
* Simple form configuration & rendering
* HTML form validation
* PDF Generation (popphp/pop-pdf)
* PDF creation & editing
* Job Queue (popphp/pop-queue)
* Job queue management & scheduler
* Mail (popphp/pop-mail)
* Support for popular mail APIs
* SMTP support
* Mail queues
* IMAP/POP client
* Storage (popphp/pop-storage)
* Support for popular cloud-based storage APIs
* Auditing (popphp/pop-audit)
* Caching (popphp/pop-cache)
* Debugging (popphp/pop-debug)
* Logging (popphp/pop-log)
* Image Manipulation (popphp/pop-image)
* Views (popphp/pop-view)
* Sessions (popphp/pop-session)
* Console (popphp/pop-console)
* Cookies (popphp/pop-cookie)

### Popcorn

[edit]

Popcorn is a standalone web-based component that serves as a REST-based micro-framework layer to allow developers to quickly build REST-based web applications and APIs. With it, a developer can enforce routes by request methods and direct HTTP requests accordingly.[16][17][18]

### Kettle

[edit]

Kettle is a CLI-based helper script available since version 4.0.1. It allows the user to quickly scaffold application files and folders together as well as manage databases and migrations.[19]

## References

[edit]

1. ^ "popphp/popphp-framework: Release v5.5.0". github.com.
2. ^ "Guide to 24 PHP Frameworks". anastasionico.uk. Nico Anastasio.
3. ^ "List of Top 10 Best PHP Frameworks". catswhocode.com. Cats Who Code.
4. ^ "List of Top 10 Best PHP Frameworks". themangomedia.com. Mango Media.
5. ^ "List of 15 New Best Frameworks". codegeekz.com. Code Geekz. 17 February 2014.
6. ^ "Best MVC PHP Frameworks for Developers". bestjquery.com. Best jQuery.
7. ^ "Best PHP Frameworks". firebearstudio.com. Firebear Studios. 20 January 2015.
8. ^ "Best PHP Frameworks". indefiniteloop.com. Indefinite Loop.
9. ^ "Phire CMS". phirecms.org.
10. ^ "Phire CMS on GitHub". github.com.
11. ^ "Github: Pop PHP Framework Changelog". github.com.
12. ^ "Github: Pop PHP Framework Releases". github.com.
13. ^ "GitHub Actions". github.com/features/actions.
14. ^ "Pop PHP Development". popphp.org.
15. ^ "Pop PHP Components". github.com.
16. ^ "Popcorn". popphp.org.
17. ^ "Popcorn Overview". popphp.org.
18. ^ "Popcorn on GitHub". github.com.
19. ^ "Kettle on GitHub". github.com.

## External links

[edit]

* Official Website

* v
* t
* e

PHP

People|

* Andi Gutmans
* Rasmus Lerdorf
* Zeev Suraski

Resources|

* Accelerator (List)
* Composer
* Editors
* Libraries
* PEAR

Implementations|

* HHVM
* HPHPc
* Parrot
* PeachPie
* Phalanger
* Quercus
* Zend Engine

Web frameworks|

* CakePHP
* CodeIgniter
* Drupal
* eZ Publish
* Fat-Free
* Flow
* FuelPHP
* Grav
* Gyroscope
* Horde
* Joomla!
* Laminas
* Laravel
* li₃
* Midgard
* MODX
* Phalcon
* PHP-Fusion
* PHP-Nuke
* Pop PHP
* PRADO
* ProcessWire
* Qcodo
* Silverstripe
* Symfony
* TYPO3
* WordPress
* XOOPS
* Yii

Testing|

* Behat
* PHPUnit

ORMs|

* Doctrine

IDEs|

* Aptana
* Codelobster
* Eclipse PDT
* NetBeans
* PHPEdit
* PhpStorm
* Zend Studio

Widget toolkit|

* PHP-GTK
* wxPHP

* Category
* Commons

* v
* t
* e

Web frameworks

* Comparison

.NET|

* ASP.NET
* Core
* AJAX
* Dynamic Data
* MVC
* Razor
* Web Forms
* Blazor
* DNN
* BFC
* MonoRail
* Umbraco
* WebSharper

C++|

* CppCMS
* Drogon
* Wt

ColdFusion|

* ColdBox Platform

Common Lisp|

* CL-HTTP

Haskell|

* Servant
* Snap
* Yesod

Java|

* AppFuse
* Grails
* GWT
* ICEfaces
* JHipster
* JWt
* Mojarra
* Play
* Remote Application Platform
* Seam
* Sling
* Spring
* Stripes
* Struts
* Tapestry
* Vaadin
* Vert.x
* Wicket
* WaveMaker
* ZK

JavaScript|

* Angular/AngularJS
* Backbone.js
* Closure
* Dojo Toolkit
* Ember.js
* Express.js
* Ext JS
* Fastify
* htmx
* jQuery
* Knockout.js
* Meteor
* MooTools
* NestJS
* Next.js
* Nuxt.js
* Node.js
* OpenUI5
* Prototype
* React
* Remix
* Sencha Touch
* SproutCore
* Svelte
* Vue.js

Perl|

* Catalyst
* Dancer
* Maypole
* Mojolicious
* WebGUI

PHP|

* CakePHP
* CodeIgniter
* Drupal
* eZ Publish
* Fat-Free
* Flow
* FuelPHP
* Grav
* Gyroscope
* Horde
* Joomla!
* Laminas
* Laravel
* li₃
* Midgard
* MODX
* Phalcon
* PHP-Fusion
* PHP-Nuke
* Pop PHP
* PRADO
* ProcessWire
* Qcodo
* Silverstripe
* Symfony
* TYPO3
* WordPress
* XOOPS
* Yii

Python|

* BlueBream
* CherryPy
* CubicWeb
* Django
* FastAPI
* Flask
* Grok
* Nevow
* Pyjs
* Pylons
* Pyramid
* Quixote
* Tornado
* TurboGears
* web2py
* Zope 2
* more...

Ruby|

* Merb
* Padrino
* Ruby on Rails
* Sinatra

Rust|

* Rocket

Scala|

* Lift
* Play
* Scalatra

Smalltalk|

* AIDA/Web
* Seaside

Other languages|

* Application Express (PL/SQL)
* Grails (Groovy)
* OpenACS (Tcl)
* Phoenix (Elixir)
* Shiny (web framework) (R)
* SproutCore (JavaScript-Ruby)
* Yaws (Erlang)

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template