Safe
scalar_objects
Our great sponsors
Safe | scalar_objects | |
---|---|---|
7 | 22 | |
2,305 | 1,124 | |
0.8% | - | |
0.6 | 2.8 | |
2 days ago | 5 months ago | |
PHP | PHP | |
MIT License | MIT 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.
Safe
-
PHP libraries and tools
thecodingmachine/safe: All PHP functions, rewritten to throw exceptions instead of returning false
-
Oh boy here we go again…
There are workarounds with some third party libraries, but yeah, it's a pain.
- Which inconsistences of PHP annoy you the most?
-
Any ideas about why json_encode would return empty for a request on local dev, but not empty on server?
- try not to use the built-in json_encode, as it doesnt have proper error handling. Use instead this: https://github.com/thecodingmachine/safe and Safe\json_encode()
-
Native defer & errdefer
Not what you asked for, in modern codebases it's advised to use things like https://github.com/thecodingmachine/safe
-
Use namespaced functions to replace native functions - github.com/rezen/proxyz
The goal of https://github.com/thecodingmachine/safe is different than proxyz. My goal is a method proxy that allows you to override or watch the behaviour of a function from the "global namespace" effortlessly.
-
preg_last_error() and json_last_error()
Safe-PHP redeclares all core PHP functions (in a new namespace) to throw exceptions properly. I use this on almost every project now.
scalar_objects
-
What I always dreamed of PHP 😎 (IMPORTANT!)
I know there are such experiments, but it's unlikely to become a part of the language any time soon :(
- What is your #1 PHP feature request (part 2)
-
What is your #1 PHP feature request
Scalar objects has a prototype implementation since at least 2015: https://github.com/nikic/scalar_objects/issues/20
- Modern PHP features explained – PHP 8.0 and 8.1
-
Alternatives to Magic Methods?
For the love of god yes please yes this 1000x. I'd like to throw in scalar objects too.
-
Why does PHP not have object-oriented strings and arrays? Will it be added in a future version
Nikita Popov tried to solve the problem with this extension, but it never got wide support. The problem is that without users asking for this feature, Jetbrains and psalm/phpstan will not integrate it. But w/o their support, users cannot not even try the extension as everything will be shown as error.
-
Should PHP9 standardize naming conventions throughout the language?
These as it would remove the need to even care about the old function names which would exist for B/C purposes. We'd then be able to use primitive types as objects with functions to do all their manipulation as needed.
- Extension that adds support for method calls on primitive types in PHP
-
Which inconsistences of PHP annoy you the most?
It's been possible for quite a while but you have to enable a custom extension: https://github.com/nikic/scalar_objects and create an implementation of the class wrapper. I made one quite some time ago which is probably very incomplete: https://github.com/RikudouSage/scalar-objects.
- What third-party extension or library would you like to see included in php as default?
What are some alternatives?
PHP Dotenv - Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.
php-docker - Docker Official Image packaging for PHP
Symfony VarDumper - Provides mechanisms for walking through any arbitrary PHP variable
Rector - Instant Upgrades and Automated Refactoring of any PHP 5.3+ code
Expose - A beautiful, fully open-source, tunneling service - written in pure PHP
RfcCodex - Notes on PHP RFCs, and topics that occur repeatedly on PHP internals
phpstan-safe-rule - A PHPStan rule to be used with the thecodingmachine/safe package
swow - Coroutine-based cross-platform concurrent I/O engine.
Symfony Dotenv - Registers environment variables from a .env file
ext-ds - An extension providing efficient data structures for PHP 7
Yo! Symfony TOML - A PHP parser for TOML
msphpsql - Microsoft Drivers for PHP for SQL Server