Pop PHP Framework: Difference between revisions

Content deleted Content added
Nicks3123 (talk | contribs)
No edit summary
 
(45 intermediate revisions by 11 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 = Pop PHP Framework
| logo = Pop_PHP_Framework_Logo_2017.png
| logo size = 160px
| logo alt = Pop PHP Logo
| developer = Nick Sagona
| released = {{Release date and age|2012|03|19}}
| latest release version = 45.05.0<ref>{{cite web
| url = https://github.com/popphp/popphp-framework/releases/tag/45.05.0
| title = popphp/popphp-framework: Release v4v5.05.0
| website = github.com
}}</ref>
| latest release date = {{Start date and age|20192025|02|0512}}
| repo = {{URL|https://github.com/popphp/popphp-framework|Pop PHP Repository}}
| status = Active
| programming language = [[PHP]]
| operating system = [[Cross-platform]]
| genre = [[Web framework]]
| license = [[BSD License]]
| website = {{URL|https://popphp.org}}
}}
 
Line 28 ⟶ 34:
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 (software)|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 anothera refactor of the existing framework that upgraded and improved existing components. Versionand 4focused supportson PHPleveraging 7.1newly oravailable greaterfeatures andin PHP 57.64 isand no longer supported. The current version, 48.0.0, was released on February 5, 2019.
 
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=https://xbu.me/a-comparison-of-php-micro-frameworks/ |title=Comparing PHP Micro-Framworks|website=xbu.me|publisher=Xiangyu Bu
}}</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 iswas built.<ref>{{
cite web |url=https://www.phirecms.org/ |title=Phire CMS|website=phirecms.org
}}</ref><ref>{{
Line 56 ⟶ 64:
===Release history===
 
Version 45.05.0 is the current version that is in active development. VersionVersions 3 is still available while versions 24.8.0 and 1earlier 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 |tl |show=11111111111}}
{| class="wikitable sortable"
! Version
Line 88 ⟶ 96:
| EOL
|-
! {{Version |coo |3.0.0}}
| July 9, 2016
|
|-
! {{Version |coo |3.5.0}}
| February 27, 2017
|
|-
! {{Version |coo |3.6.0}}
| August 31, 2017
|
|-
! {{Version |coo |3.6.5}}
| May 15, 2018
|
|-
! {{Version |coo |3.7.0}}
| June 28, 2018
|
|-
! {{Version |coo |3.8.0}}
| August 25, 2018
| Final Release
|-
! {{Version |co |43.08.09}}
| February 524, 20192020
| 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: GithubGitHub<ref>{{cite web |url=https://github.com/popphp/popphp-framework/releases |title=Github: Pop PHP Framework Releases|website=github.com}}</ref>
 
== 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 [[TravisGitHub CI]]Actions continuous integrationworkflow platform to ensure the builds of the individual framework components are passing.<ref>{{cite web |url=https://travis-cigithub.orgcom/popphpfeatures/actions |title=TravisGitHub CI: Pop PHP FrameworkActions|website=travis-cigithub.orgcom/features/actions}}</ref>
 
Pop PHP 45.5.0 is currently written for and supports PHP 78.1 or greater2+, and no longer supports PHP 5<=7.64.
 
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>
Line 138 ⟶ 203:
* '''The Base Controller Class'''
 
Additionally, there are 28a 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)
Line 146 ⟶ 211:
** SQL migration
* '''HTTP Abstraction''' (popphp/pop-http)
** HTTP client & server classes
** Promises
** Headers & Auth
** Request & response handlers
** HTTP clients
** File uploads
* '''HTML Form Generation''' (popphp/pop-form)
** Simple form configuration & rendering
** HTML Form Validation
** HTML form validation
* '''PDF Generation''' (popphp/pop-pdf)
** PDF Creationcreation & editing
* '''Job Queue''' (popphp/pop-queue)
** PDF Import
** 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''' Manipulation (popphp/pop-image)
* '''Views''' (popphp/pop-view)
* '''Sessions''' (popphp/pop-session)
* '''Console''' (popphp/pop-console)
* '''Cookies''' (popphp/pop-cookie)
 
Line 170 ⟶ 243:
 
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 183 ⟶ 260:
[[Category:PHP frameworks]]
[[Category:Web frameworks]]
[[Category:Software using the BSD license]]