Nyholm PSR-7
Phalcon
Our great sponsors
Nyholm PSR-7 | Phalcon | |
---|---|---|
7 | 38 | |
1,118 | 10,754 | |
- | 0.1% | |
4.2 | 9.6 | |
8 days ago | 14 days ago | |
PHP | PHP | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Nyholm PSR-7
-
Testing an OpenAPI specification in PHP
As the documentation states, this package only performs the conversion, so we would need a PSR-7 and a PSR-17 implementation to convert the objects to and from PSR-7. We can use the library the documentation recommends, nyholm/psr7, but there are others.
-
Creating an application #9 - http Factories
The following example shows how to create configuration for the HTTP factories, using the nyholm/psr7 package:
-
The PHPer's Guide to OAuth
Since the library is designed to be easily integrated with different frameworks, it relies on the usage of PSR-7 compliant HTTP messages. To fulfill this requirement, I'll be using the nyholm/psr7 package.
-
Decorator pattern implementing interface
If you go strict PSR-7, as you see in nyholm/psr7, Tobias uses traits to add the functionality of the extended RequestInterface and MessageInterface:
-
Validate your PHP API tests against OpenAPI definitions – a Laravel example
The Symfony folks thought of this, however, and provided a bridge that converts HttpFoundation objects to PSR-7 ones. The bridge simply needs a PSR-7 and PSR-17 factory, for which they suggest to use Tobias Nyholm's PSR-7 implementation.
-
re: On using PSR abstractions
“In theory, theory and practice are the same. In practice, they are not.” (Dr. Albert Einstein). I believe same goes for packages, too. A good example is the [comparison](https://github.com/Nyholm/psr7) of some PSR-7 implementations.
-
Introducing FEAST Framework
The point is why would I pull in code in the first place that is not needed? If it is optional, then why is it not a separate package? Same with all of the bloated HTTP requests and response objects that frameworks and other libs usually use. I really like https://github.com/Nyholm/psr7 for that reason, it has a table in it's readme.md that is pretty much enough to know why I like it. If something specific is needed it can be decorated or extended on project level.
Phalcon
-
Top 12 PHP Frameworks For Web Development in 2024
Phalcon is open-source with 10.7k stars and 2k+ forks on GitHub. It is a full-stack framework for PHP that is characterized by high performance and low resource consumption. It is written or implemented as a C-extension or in C, which is integrated into PHP to improve performance. It has a user-friendly interface that simplifies PHP development and enhances the developer experience.
-
Kubernetes and feeling defeated
PHP itself is not that bad. Lack of a native ability to serve HTTP requests is annoying, but newer things like Phalcon help: https://phalcon.io/
-
I'm looking for a php framework
Ah, was going to suggest Phalcon, but just noticed you said it's written in PHP, so I guess it's not that.
-
23.1.2 is up
ports: phalcon 5.2.1[11]
-
22.7.11 is up
[6] https://github.com/phalcon/cphalcon/releases/tag/v5.1.4
- Release v5.1.3 · phalcon/cphalcon
-
Phalcon 5.1.2 Released
Fixed Phalcon\Support\Debug to correctly calculate the documents URL for the hyperlinks #16223
-
22.7.8 is up
A belated happy patch day to everyone, This is a small maintenance and security update. You will notice that LibreSSL no longer works with FreeRADIUS software due to hiding library internals that are used by the software. Your current install will continue to work, but we would recommend switching to OpenSSL to receive FreeRADIUS updates as they become available. Also, the infamous log_error() message is being phased out in the development version to end the questions of "Why is this log message an error?" and so with log_msg() each log line receives a more appropriate log level between error, warning and notice. Here are the full patch notes: o system: add statistics tree view containing vmstat memory characteristics o system: explicitly reopen main log file in case another log file was used and closed o system: tweak log_msg() to prepare log level adjustments migration away from log_error() o system: enforce config reload to fetch group membership in authentication tester o system: separate interface type icon from name column in interface widget o system: change system log default to "Notice" o system: UX tweaks on activity page o system: revised backend daemon startup delay o system: drop empty plugins_run() result o interfaces: migrate main clearing of interface data to ifctl o interfaces: fix display of special HTML characters in packet capture o interfaces: retain existing PPP settings on saving interface settings o interfaces: delete the correct lock of PPP device o interfaces: fix variable use in interface_proxyarp_configure() o firewall: wrap user rule registration in new function filter_core_rules_user() o firewall: simplify rule lookup by using filter_core_rules_user() o firewall: allow external dynamic address in NPT o firewall: remove extended VIP expansion from NAT rules o firewall: fix live view hostname lookup may result in HTTP 431 error o ipsec: remove side effect host route removal from Phase 1 page o unbound: do not stop on potential errors in start script o plugins: os-freeradius is no longer available for LibreSSL to allow updates of FreeRADIUS software o plugins: os-nginx 1.31[1] o plugins: os-wireguard now skips invalid peers for dashboard widget (contributed by jkellerer) o ports: expat 2.5.0[2] o ports: krb5 1.20.1[3] o ports: nss 3.85[4] o ports: phalcon 5.1.1[5] o ports: sudo 1.9.12p1[6] Stay safe, Your OPNsense team -- [1] https://github.com/opnsense/plugins/blob/stable/22.7/www/nginx/pkg-descr [2] https://github.com/libexpat/libexpat/blob/R_2_5_0/expat/Changes [3] https://web.mit.edu/kerberos/krb5-1.20/ [4] https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_85.html [5] https://github.com/phalcon/cphalcon/releases/tag/v5.1.1 [6] https://www.sudo.ws/stable.html#1.9.12p1
-
Phalcon 5.1.0 Released
Fixed Phalcon\Mvc\View\Engine\Volt\Compiler::isTagFactory to correctly detect a TagFactory object without throwing an error #16097
-
Phalcon v5.0.5 Released
Fixed Phalcon\Config\Adapter\Groupped::__construct to pass the insensitive flag to child objects #16171
What are some alternatives?
Laminas Diactoros - PSR HTTP Message implementations
Swoole - 🚀 Coroutine-based concurrency library for PHP
psr17 - Provides a PSR17 synthetic implementation.
Yii2 - Yii 2: The Fast, Secure and Professional PHP Framework
swagger-php - A php swagger annotation and parsing library
Laravel - Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.
Packagist - Package Repository Website - try https://packagist.com if you need your own -
Symfony - The Symfony PHP framework
fluentpdo - A PHP SQL query builder using PDO
ReactPHP Promises Testing - PHPUnit assertions for testing ReactPHP promises
Spiral Framework - High-Performance PHP Framework