Jump to content

Archive:Pop PHP Framework: Difference between revisions

From IdeaWazaWiki
No edit summary
No edit summary
 
(66 intermediate revisions by 16 users not shown)
Line 1: Line 1:
{{Infobox software
The '''Pop PHP Framework''' is a [[Free software|free]] and [[Open-source software|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, supporting both web and console applications.
| 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 = 3.8.0<ref>{{cite web
| url = https://github.com/popphp/popphp-framework/releases/tag/3.8.0
| title = popphp/popphp-framework: Release v3.8.0
| website = github.com
}}</ref>
| latest release date    = {{Start date and age|2018|08|25}}
| status                = Active
| programming language  = [[PHP]]
| operating system      = [[Cross-platform]]
| genre                  = [[Web framework]]
| license                = [[BSD License]]
| website                = {{URL|https://popphp.org}}
}}
 
The '''Pop PHP Framework''' a [[Free software|free]] and [[Open-source software|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 ==
== 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.
Development on the Pop PHP Framework officially began in late 2011, when a set of older library components was refactored 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 framework with a set of supporting components to assist in building web and console applications. The older library components that it was derived from originally began life in 2009.


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.
Over the span of that time, Pop has evolved to keep up with the times, taking advantage of new features available in PHP. The current version, Pop PHP 7 is another major refactor and modernization of the framework, adding a large number of new features and upgrades and focusing on the new features available in PHP 8.4+. Version 7.0.0 was released on August 17, 2026.
 
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 current version, 3.8.0, was released on August 25, 2018.


The framework has been included on a number of "best of" lists for new and up-and-coming PHP Frameworks.<ref>{{
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
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>{{
}}</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
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>{{
}}</ref><ref>{{
cite web |url=https://codegeekz.com/best-php-frameworks-2014/ |title=List of 15 New Best Frameworks|website=codegeekz.com|publisher=Code Geekz
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>{{
}}</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
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>{{
}}</ref><ref>{{
cite web |url=https://firebearstudio.com/blog/the-best-php-frameworks-2015.html |title=Best PHP Frameworks|website=firebearstudio.com|publisher=Firebear Studios
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>{{
}}</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
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 is 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>
}}</ref>


===Release history===
===Release history===


Verision 3.8.0 is the current version that is in active development. Version 2 is still available but no longer supported. Version 1 reached end of life on March 6, 2017. 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>
Version 7.0.0 is the current version that is in active development. Versions 5.5.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: -->
<!--Template:Version - for version & release history. Documentation & examples: -->
{{Version |t |show=11111}}
{{Version |l |show=111111}}
{| class="wikitable sortable"
{| class="wikitable sortable"
! Version
! Version
Line 62: Line 33:
! Notes
! Notes
|-
|-
! {{Version |o |1.0.0}}
! {{Version |c |7.0.0}}
| March 19, 2012
| August 17, 2026
| Current production version
|-
! {{Version |co |6.0.0}}
| November 3, 2025
|
|-
! {{Version |o |5.5.0}}
| February 12, 2025
| EOL
|-
! {{Version |o |5.4.0}}
| September 10, 2024
|
|-
! {{Version |o |5.3.0}}
| April 1, 2024
|
|-
! {{Version |o |5.2.0}}
| March 4, 2024
|
|-
! {{Version |o |5.1.0}}
| December 12, 2023
|  
|  
|-
|-
! {{Version |o |1.7.0}}
! {{Version |o |5.0.0}}
| December 1, 2013
| November 8, 2023
| Final Release
|
|-
|-
! {{Version |o |1.7.0}}
! {{Version |o |4.8.0}}
| March 6, 2016
| September 3, 2023
| EOL
| EOL
|-
|-
! {{Version |o |2.0.0}}
! {{Version |o |4.7.0}}
| July 12, 2015
| November 16, 2022
|
|-
! {{Version |o |4.6.0}}
| February 12, 2021
|
|-
! {{Version |o |4.5.0}}
| May 28, 2020
|
|-
! {{Version |o |4.1.0}}
| October 17, 2019
|
|-
! {{Version |o |4.0.3}}
| April 9, 2019
|
|-
! {{Version |o |4.0.2}}
| March 12, 2019
|
|-
! {{Version |o |4.0.1}}
| February 9, 2019
|  
|  
|-
|-
! {{Version |o |2.1.0}}
! {{Version |o |3.8.9}}
| July 8, 2016
| February 24, 2020
| EOL
|-
! {{Version |o |3.8.0}}
| August 25, 2018
| Final Release
| Final Release
|-
|-
! {{Version |co |3.0.0}}
! {{Version |o |3.7.0}}
| July 9, 2016
| June 28, 2018
|  
|  
|-
|-
! {{Version |co |3.5.0}}
! {{Version |o |3.6.5}}
| February 27, 2017
| May 15, 2018
|  
|  
|-
|-
! {{Version |co |3.6.0}}
! {{Version |o |3.6.0}}
| August 31, 2017
| August 31, 2017
|  
|  
|-
|-
! {{Version |co |3.6.5}}
! {{Version |o |3.5.0}}
| May 15, 2018
| February 27, 2017
|
|-
! {{Version |o |3.0.0}}
| July 9, 2016
|  
|  
|-
|-
! {{Version |co |3.7.0}}
! {{Version |o |2.1.0}}
| June 28, 2018
| August 31, 2017
| EOL
|-
! {{Version |o |2.1.0}}
| July 8, 2016
| Final Release
|-
! {{Version |o |2.0.0}}
| July 12, 2015
|  
|  
|-
|-
! {{Version |c |3.7.0}}
! {{Version |o |1.7.0}}
| August 25, 2018
| March 6, 2016
| Current production version
| EOL
|-
! {{Version |o |1.7.0}}
| December 1, 2013
| Final Release
|-
|-
! {{Version |o |1.0.0}}
| March 19, 2012
|
|}
|}
Source: Github<ref>{{cite web |url=https://github.com/popphp/popphp-framework/releases |title=Github: Pop PHP Framework Releases|website=github.com}}</ref>
Source: GitHub<ref>{{cite web |url=https://github.com/popphp/popphp-framework/releases |title=Github: Pop PHP Framework Releases|website=github.com}}</ref>


== Development ==
== Development ==


While the initial development of the Pop PHP Framework was focused on building web applications, version 3 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.
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]], uses [[PHPStan]] for static analysis 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 3 is currently written for and supports PHP 7 and is backwards compatible to PHP 5.6.
Pop PHP 7.0.0 is currently written for and supports PHP 8.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>
The Pop PHP Framework project welcomes community involvement and contribution via the current available channels.<ref>{{cite web |url=https://www.popphp.org/communityt |title=Pop PHP Development|website=popphp.org}}</ref>


== Features ==
== Features ==
Line 122: Line 164:


* '''The Application Object'''
* '''The Application Object'''
* '''The Router'''
* '''The Router''' (HTTP and CLI route matching)
* '''The Service Locator'''
* '''The Service Locator''' ([[PHP Standard Recommendation|PSR]]-11 container)
* '''The Event Manager'''
* '''The Event Manager''' (PSR-14 event dispatcher)
* '''The Middleware Manager''' (PSR-15 middleware and request handlers)
* '''The Module Manager'''
* '''The Module Manager'''
* '''The Base Controller Class'''
* '''The Dispatchable Core''' (controllers, HTTP and console dispatch, maintenance mode)


Additionally, there are 28 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:
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 Abstraction''' (popphp/pop-db)
** Database adapters
** Database adapters (MySQL, PostgreSQL, SQLite, SQL Server and PDO)
** Active record
** Active record, including encoded and authentication-aware records
** Query builder
** Table relationships and eager loading
** SQL migration
** Query builder and schema builder
** Migrations and seeding
** Transactions and a query profiler
* '''HTTP Abstraction''' (popphp/pop-http)
* '''HTTP Abstraction''' (popphp/pop-http)
** HTTP client & server classes
** PSR-7 messages, PSR-17 factories and a PSR-18 client
** Client handlers (cURL, cURL multi and stream) and client middleware
** Promises
** Headers & Auth
** Request & response handlers
** Request & response handlers
** HTTP clients
** File uploads
** File uploads
* '''Command Line Interface''' (popphp/pop-console, popphp/pop-kettle)
** Command routing, prompts, tables, progress bars and colored output
** The <code>kettle</code> console application for scaffolding, migrations, a
* '''HTML Form Generation''' (popphp/pop-form)
* '''HTML Form Generation''' (popphp/pop-form)
** HTML Form Validation
** Simple form configuration & rendering
** HTML form validation
* '''PDF Generation''' (popphp/pop-pdf)
* '''PDF Generation''' (popphp/pop-pdf)
** PDF Creation
** PDF creation & editing
** PDF Import
* '''Job Queue''' (popphp/pop-queue)
** Job queue management & scheduler
** Queue adapters (database, Redis, Amazon SQS, file and memory)
* '''Mail''' (popphp/pop-mail)
* '''Mail''' (popphp/pop-mail)
** Support for popular mail APIs (Google, Microsoft 365, Mailgun, SendGrid an
** SMTP support
** SMTP support
** Mail queues
** Mail queues
** IMAP/POP client
** IMAP/POP client
* '''Storage''' (popphp/pop-storage)
** Support for popular cloud-based storage APIs (Amazon S3 and Azure) as well as local storage
* '''Cryptography''' (popphp/pop-crypt)
** Password hashing (bcrypt and Argon2)
** Encryption and signature verification
* '''Authentication & Access Control''' (popphp/pop-auth, popphp/pop-acl)
** File- and JWT-based authentication
** Role- and resource-based access control with assertions and policies
* '''Auditing''' (popphp/pop-audit)
* '''Auditing''' (popphp/pop-audit)
* '''Caching''' (popphp/pop-cache)
* '''Caching''' (popphp/pop-cache) — PSR-6 and PSR-16 compatible
* '''Debugging''' (popphp/pop-debug)
* '''Debugging''' (popphp/pop-debug)
* '''Logging''' (popphp/pop-log)
* '''Logging''' (popphp/pop-log) — PSR-3 compatible
* '''Image''' Manipulation (popphp/pop-image)
* '''Image Manipulation''' (popphp/pop-image)
* '''Views''' (popphp/pop-view)
* '''Views''' (popphp/pop-view)
* '''Sessions''' (popphp/pop-session)
* '''Sessions''' (popphp/pop-session)
* '''Cookies''' (popphp/pop-cookie)
* '''Cookies''' (popphp/pop-cookie)
* '''Utilities''' (popphp/pop-utils) — collections, string, array and number


=== Popcorn ===
=== Kettle ===


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 is a CLI-based companion script available since version 4.0.1. It allows the user to quickly scaffold application files and folders together as well as manage databases, migrations, queues and more.<ref>{{cite web |url=https://github.com/popphp/pop-kettle|title=Kettle on GitHub|website=github.com}}</ref>


== References ==
== References ==
Line 173: Line 238:
[[Category:PHP frameworks]]
[[Category:PHP frameworks]]
[[Category:Web frameworks]]
[[Category:Web frameworks]]
[[Category:Software using the BSD license]]

Latest revision as of 18:46, 29 September 2026

The Pop PHP Framework is 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, supporting both web and console applications.

History

Development on the Pop PHP Framework officially began in late 2011, when a set of older library components was refactored 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 framework with a set of supporting components to assist in building web and console applications. The older library components that it was derived from originally began life in 2009.

Over the span of that time, Pop has evolved to keep up with the times, taking advantage of new features available in PHP. The current version, Pop PHP 7 is another major refactor and modernization of the framework, adding a large number of new features and upgrades and focusing on the new features available in PHP 8.4+. Version 7.0.0 was released on August 17, 2026.

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

Release history

Version 7.0.0 is the current version that is in active development. Versions 5.5.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.[8]

<div style="Expression error: Unrecognized punctuation character "[".">Legend:

<div style="Expression error: Unrecognized punctuation character "["." class="legend-item">Unsupported<div style="Expression error: Unrecognized punctuation character "["." class="legend-item">Supported<div style="Expression error: Unrecognized punctuation character "["." class="legend-item">Latest version<div style="Expression error: Unrecognized punctuation character "["." class="legend-item">Preview version<div style="Expression error: Unrecognized punctuation character "["." class="legend-item">Future version<templatestyles src="Version/styles.css" />

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

Source: GitHub[9]

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, uses PHPStan for static analysis and runs through the GitHub Actions workflow platform to ensure the builds of the individual framework components are passing.[10]

Pop PHP 7.0.0 is currently written for and supports PHP 8.4+.

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

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 (HTTP and CLI route matching)
  • The Service Locator (PSR-11 container)
  • The Event Manager (PSR-14 event dispatcher)
  • The Middleware Manager (PSR-15 middleware and request handlers)
  • The Module Manager
  • The Dispatchable Core (controllers, HTTP and console dispatch, maintenance mode)

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

  • Database Abstraction (popphp/pop-db)
    • Database adapters (MySQL, PostgreSQL, SQLite, SQL Server and PDO)
    • Active record, including encoded and authentication-aware records
    • Table relationships and eager loading
    • Query builder and schema builder
    • Migrations and seeding
    • Transactions and a query profiler
  • HTTP Abstraction (popphp/pop-http)
    • HTTP client & server classes
    • PSR-7 messages, PSR-17 factories and a PSR-18 client
    • Client handlers (cURL, cURL multi and stream) and client middleware
    • Promises
    • Headers & Auth
    • Request & response handlers
    • File uploads
  • Command Line Interface (popphp/pop-console, popphp/pop-kettle)
    • Command routing, prompts, tables, progress bars and colored output
    • The kettle console application for scaffolding, migrations, a
  • 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
    • Queue adapters (database, Redis, Amazon SQS, file and memory)
  • Mail (popphp/pop-mail)
    • Support for popular mail APIs (Google, Microsoft 365, Mailgun, SendGrid an
    • SMTP support
    • Mail queues
    • IMAP/POP client
  • Storage (popphp/pop-storage)
    • Support for popular cloud-based storage APIs (Amazon S3 and Azure) as well as local storage
  • Cryptography (popphp/pop-crypt)
    • Password hashing (bcrypt and Argon2)
    • Encryption and signature verification
  • Authentication & Access Control (popphp/pop-auth, popphp/pop-acl)
    • File- and JWT-based authentication
    • Role- and resource-based access control with assertions and policies
  • Auditing (popphp/pop-audit)
  • Caching (popphp/pop-cache) — PSR-6 and PSR-16 compatible
  • Debugging (popphp/pop-debug)
  • Logging (popphp/pop-log) — PSR-3 compatible
  • Image Manipulation (popphp/pop-image)
  • Views (popphp/pop-view)
  • Sessions (popphp/pop-session)
  • Cookies (popphp/pop-cookie)
  • Utilities (popphp/pop-utils) — collections, string, array and number

Kettle

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

References

Template:PHP Template:Web frameworks