Pop PHP Framework

Last updated
Pop PHP Framework
Developer(s) Nick Sagona
Initial releaseMarch 19, 2012;12 years ago (2012-03-19)
Stable release
5.3.0 [1] / March 4, 2024;30 days ago (2024-03-04)
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.

Contents

History

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.1+. The current version, 5.3.0, supports PHP 8.1+ and was released on April 1, 2024.

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

Version 5.3.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:Old version, not maintainedOlder version, still maintainedCurrent stable versionLatest preview versionFuture release
VersionRelease dateNotes
Old version, no longer maintained: 1.0.0March 19, 2012
Old version, no longer maintained: 1.7.0December 1, 2013Final Release
Old version, no longer maintained: 1.7.0March 6, 2016EOL
Old version, no longer maintained: 2.0.0July 12, 2015
Old version, no longer maintained: 2.1.0July 8, 2016Final Release
Old version, no longer maintained: 2.1.0August 31, 2017EOL
Old version, no longer maintained: 3.0.0July 9, 2016
Old version, no longer maintained: 3.5.0February 27, 2017
Old version, no longer maintained: 3.6.0August 31, 2017
Old version, no longer maintained: 3.6.5May 15, 2018
Old version, no longer maintained: 3.7.0June 28, 2018
Old version, no longer maintained: 3.8.0August 25, 2018Final Release
Old version, no longer maintained: 3.8.9February 24, 2020EOL
Old version, no longer maintained: 4.0.1February 9, 2019
Old version, no longer maintained: 4.0.2March 12, 2019
Old version, no longer maintained: 4.0.3April 9, 2019
Old version, no longer maintained: 4.1.0October 17, 2019
Old version, no longer maintained: 4.5.0May 28, 2020
Old version, no longer maintained: 4.6.0February 12, 2021
Old version, no longer maintained: 4.7.0November 16, 2022
Old version, no longer maintained: 4.8.0September 3, 2023EOL
Older version, yet still maintained: 5.0.0November 8, 2023
Older version, yet still maintained: 5.1.0December 12, 2023
Older version, yet still maintained: 5.2.0March 4, 2024
Current stable version:5.3.0April 1, 2024Current production version

Source: GitHub [12]

Development

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.1.0 is currently written for and supports PHP 8.1+, and no longer supports PHP <=7.4.

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

Features

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

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:

Popcorn

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

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]

Related Research Articles

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

<span class="mw-page-title-main">DNN (software)</span>

DNN Platform is a web content management system and web application framework based on the .NET Framework. It is open source and part of the .Net Foundation.

<span class="mw-page-title-main">Symfony</span> PHP web application framework for MVC applications

Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License.

Laminas Project is an open source, object-oriented web application framework implemented in PHP 7 and licensed under the New BSD License. The framework is basically a collection of professional PHP-based packages. The framework uses various packages by the use of Composer as part of its package dependency managers; some of them are PHPUnit for testing all packages, Travis CI for continuous Integration Services. Laminas provides to users a support of the model–view–controller (MVC) in combination with Front Controller solution. MVC implementation in Laminas has five main areas. The router and dispatcher functions to decide which controller to run based on data from URL, and controller functions in combination with the model and view to develop and create the final web page.

This is a comparison of notable web frameworks, software used to build and deploy web applications.

<span class="mw-page-title-main">Vaadin</span>

Vaadin is an open-source web application development platform for Java. Vaadin includes a set of Web Components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces (GUI) using the Java programming language only, TypeScript only, or a combination of both.

Phire CMS is an open source content management system and publishing platform for managing the content of websites and web applications. Phire CMS is licensed under the new BSD license, is written using the MySQL database and the PHP programming language.

ProcessWire is a free and open source content management system (CMS), content management framework (CMF) and web application framework (WAF) written in the PHP programming language. It is distributed under the Mozilla Public License 2.0. ProcessWire is built around an API with usage and naming conventions similar to the JavaScript framework jQuery. The stated goal behind the API is to provide the level of accessibility and control to pages in a website that jQuery provides to the DOM. Content is managed either via the API or the web-based admin control panel. ProcessWire is largely used for development of web sites, web applications, services, content feeds and related applications.

<span class="mw-page-title-main">FuelPHP</span>

FuelPHP is an open-source web application framework written in PHP which implements the HMVC pattern.

<span class="mw-page-title-main">Novius OS</span>

Novius OS is a content management system (CMS) open source designed for multi-channel Internet (Create Once Publish Everywhere) and published by the Novius company since 2011.

<span class="mw-page-title-main">Laravel</span> Open source web application framework, written in PHP

Laravel is a free and open-source PHP- based web framework for building high-end web applications. It was created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. Some of the features of Laravel are a modular packaging system with a dedicated dependency manager, different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and its orientation toward syntactic sugar.

appserver.io is an application server for PHP-based web environments. The project consists of middleware which delivers classical PHP web applications and provides additional services.

<span class="mw-page-title-main">Phalcon (framework)</span>

Phalcon is a PHP web framework based on the model–view–controller (MVC) pattern. Originally released in 2012, it is an open-source framework licensed under the terms of the BSD License.

ASP.NET Core is an open-source modular web-application framework. It is a redesign of ASP.NET that unites the previously separate ASP.NET MVC and ASP.NET Web API into a single programming model. Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET. The ASP.NET Core framework supports side-by-side versioning so that different applications being developed on a single machine can target different versions of ASP.NET Core. This was not possible with previous versions of ASP.NET. ASP.NET Core initially ran on both the Windows-only .NET Framework and the cross-platform .NET. However, support for the .NET Framework was dropped beginning with ASP.Net Core 3.0.

<span class="mw-page-title-main">Backdrop CMS</span>

Backdrop CMS is an Open source, community-developed, content management system, written in PHP, and licensed under the GNU General Public License. Backdrop CMS was forked from the Drupal CMS in 2013 by two Drupal developers, Nate Lampton and Jen Lampton. Backdrop is very similar to version 7 of the Drupal CMS, maintaining most of the same functionality and features. The project's mission is to "enable people to build highly customized websites affordably, through collaboration and open source software".

<span class="mw-page-title-main">Enonic XP</span>

Enonic XP is a free and open-source web application platform and content management system (CMS) in one based on Java and Elasticsearch. Developed by the Norwegian software company Enonic, the microservice web platform can be used to build progressive web applications, Next.js websites, or web-based APIs. Enonic XP uses an application framework for coding server logic with JavaScript, and has no need for SQL as it ships with an integrated content repository. The CMS is fully decoupled, meaning developers can create traditional websites and landing pages, or use XP in headless mode, that is without the presentation layer, for loading editorial content onto any device or client. Enonic is used by major organizations in Norway, including the national postal service Norway Post, the insurance company Gjensidige, the national lottery Norsk Tipping, the Norwegian Labour and Welfare Administration, and all the top football clubs in the national football league for men, Eliteserien.

<span class="mw-page-title-main">Grav (CMS)</span>

Grav is a free software, self-hosted content management system (CMS) written in the PHP programming language and based on the Symfony web application framework. It uses a flat file database for both backend and frontend.

References

  1. "popphp/popphp-framework: Release v5.3.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.