Content deleted Content added
No edit summary |
YannickFran (talk | contribs) |
||
(95 intermediate revisions by 15 users not shown) | |||
Line 1:
{{short description|Free and open source PHP web framework}}
{{Multiple issues|
{{COI|date=December 2023}}
{{Notability|date=December 2023}}
{{Unreliable sources|date=December 2023}}
}}
{{Infobox software
| name
| logo
| logo size
| logo alt
| developer
| released
| latest release version =
| url = https://github.com/popphp/popphp-framework/releases/tag/
| title = popphp/popphp-framework: Release
| website = github.com
}}</ref>
| latest release date
| repo = {{URL|https://github.com/popphp/popphp-framework|Pop PHP Repository}}
| programming language
| operating system
| genre
| license
| website
}}
Line 26 ⟶ 32:
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
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.
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.<ref>{{
cite web |url=http://anastasionico.uk/blog/guide-to-24-php-frameworks-part-3#pop |title=Guide to 24 PHP Frameworks|website=anastasionico.uk|publisher=Nico Anastasio
}}</ref><ref>{{
cite web |url=https://www.catswhocode.com/blog/top-10-php-frameworks-for-2014 |title=List of Top 10 Best PHP Frameworks|website=catswhocode.com|publisher=Cats Who Code
}}</ref><ref>{{
cite web |url=http://www.themangomedia.com/blog/what-is-php-and-10-best-php-frameworks/ |title=List of Top 10 Best PHP Frameworks|website=themangomedia.com|publisher=Mango Media
}}</ref><ref>{{
cite web |url=https://codegeekz.com/best-php-frameworks-2014/ |title=List of 15 New Best Frameworks|website=codegeekz.com|date=17 February 2014 |publisher=Code Geekz
}}</ref><ref>{{
cite web |url=http://www.bestjquery.com/2017/07/best-php-frameworks/ |title=Best MVC PHP Frameworks for Developers|website=bestjquery.com|publisher=Best jQuery
}}</ref><ref>{{
cite web |url=https://firebearstudio.com/blog/the-best-php-frameworks-2015.html |title=Best PHP Frameworks|website=firebearstudio.com|date=20 January 2015 |publisher=Firebear Studios
}}</ref><ref>{{
cite web |url=https://indefiniteloop.com/blog/code/42-php-frameworks-2015.html |title=Best PHP Frameworks|website=indefiniteloop.com|publisher=Indefinite Loop
}}</ref>
The Pop PHP Framework is the framework on which the open source [[Phire CMS]] project was built.<ref>{{
cite web |url=https://www.phirecms.org/ |title=Phire CMS|website=phirecms.org
}}</ref><ref>{{
cite web |url=https://github.com/phirecms/phirecms |title=Phire CMS on GitHub|website=github.com
}}</ref>
===Release history===
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.<ref>{{cite web |url=https://github.com/popphp/popphp-framework/blob/master/CHANGELOG.md |title=Github: Pop PHP Framework Changelog|website=github.com}}</ref>
<!--Template:Version - for version & release history. Documentation & examples: -->
{{Version |
{| class="wikitable sortable"
! Version
Line 39 ⟶ 72:
! Notes
|-
! {{Version |o |1.0.0}}
| March 19, 2012
|
|-
! {{Version |o |1.7.0}}
| December 1, 2013
| Final Release
|-
! {{Version |o |1.7.0}}
| March 6, 2016
| EOL
|-
! {{Version |o |2.0.0}}
| July 12, 2015
|
|-
! {{Version |
| July 8, 2016
| Final Release
|-
! {{Version |o |2.1.0}}
| August 31, 2017
| EOL
|-
! {{Version |o |3.0.0}}
| July 9, 2016
|
|-
! {{Version |
| February 27, 2017
|
|-
! {{Version |
|
|
|-
! {{Version |o |3.6.5}}
| May 15, 2018
|
|-
! {{Version |o |3.7.0}}
| June 28, 2018
|
|-
! {{Version |o |3.8.0}}
| August 25, 2018
| Final Release
|-
! {{Version |o |3.8.9}}
| February 24, 2020
| EOL
|-
! {{Version |o |4.0.1}}
| February 9, 2019
|
|-
! {{Version |o |4.0.2}}
| March 12, 2019
|
|-
! {{Version |o |4.0.3}}
| April 9, 2019
|
|-
! {{Version |o |4.1.0}}
| October 17, 2019
|
|-
! {{Version |o |4.5.0}}
| May 28, 2020
|
|-
! {{Version |o |4.6.0}}
| February 12, 2021
|
|-
! {{Version |o |4.7.0}}
| November 16, 2022
|
|-
! {{Version |o |4.8.0}}
| September 3, 2023
| EOL
|-
|-
! {{Version |co |5.0.0}}
| November 8, 2023
|
|-
! {{Version |co |5.1.0}}
| December 12, 2023
|
|-
! {{Version |co |5.2.0}}
| March 4, 2024
|
|-
! {{Version |co |5.3.0}}
| April 1, 2024
|
|-
! {{Version |co |5.4.0}}
| September 10, 2024
|
|-
! {{Version |c |5.5.0}}
| February 12, 2025
| Current production version
|-
|}
Source:
== 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 [[Command-line interface|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.<ref>{{cite web |url=https://github.com/features/actions |title=GitHub Actions|website=github.com/features/actions}}</ref>
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.<ref>{{cite web |url=https://www.popphp.org/development |title=Pop PHP Development|website=popphp.org}}</ref>
== Features ==
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.<ref>{{cite web |url=https://github.com/popphp/popphp-framework/blob/master/README.md#overview |title=Pop PHP Components|website=github.com}}</ref> 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 ===
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.<ref>{{cite web |url=https://www.popphp.org/#popcorn|title=Popcorn|website=popphp.org}}</ref><ref>{{cite web |url=https://www.popphp.org/overview#popcorn|title=Popcorn Overview|website=popphp.org}}</ref><ref>{{cite web |url=https://github.com/popphp/popcorn|title=Popcorn on GitHub|website=github.com}}</ref>
=== 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.<ref>{{cite web |url=https://github.com/popphp/pop-kettle|title=Kettle on GitHub|website=github.com}}</ref>
== References ==
Line 78 ⟶ 252:
== External links ==
* [
{{PHP}}
Line 91 ⟶ 260:
[[Category:PHP frameworks]]
[[Category:Web frameworks]]
[[Category:Software using the BSD license]]
|