Last Updated | | Ratings | | Unique User Downloads | | Download Rankings |
2020-06-26 (27 days ago) ![RSS 2.0 feed](/graphics/phpclasses/rss2.png) | | Not yet rated by the users | | Total: 25 This week: 1 | | All time: 9,959 This week: 233![Up](/graphics/phpclasses/up.png) |
|
Description | | Author |
This package can make class function calls invoke strict versions.
It provides a trait that can be used by any class, so when missing functions of the class are called, it can forward the calls to functions with the prefix strict, so PHP 7 based strict type checking of the parameters values passed to the class is performed. Innovation Award
![PHP Programming Innovation award nominee PHP Programming Innovation award nominee](/award/innovation/nominee.gif) June 2020
Nominee
Vote |
PHP 7 introduced the possibility to impose stricter restrictions to the types of the values passed or returned by class functions.
This package provides a simple trait that forces calling stricter versions of PHP class functions, even if applications call past versions of class versions that did not used to be stricter.
Manuel Lemos |
| |
![Picture of Scott Arciszewski Picture of Scott Arciszewski](/picture/user/1361397.jpg) |
|
Innovation award
![Innovation award](/graphics/phpclasses/innovation-award-logo.png) Nominee: 20x
Winner: 1x |
|
Details
Stern
![License](https://poser.pugx.org/paragonie/stern/license)
Stern lets you built type-safe PHP projects, even if your project's users aren't writing type-safe code.
Requires PHP 7+
Usage
Using Stern is simply:
- Make your class use the
SternTrait
.
- Rename your methods from
whateverName
to strictWhateverName
.
- Enjoy strict-typing whether your users like it or not.
Example
<?php
declare(strict_types=1);
namespace YourVendor\YourNamespace;
class YourClassThatUsesStrictTypes
{
+ use \ParagonIE\Stern\SternTrait;
/.../
- public function foo(string $param = ''): bool
+ public function strictFoo(string $param = ''): bool
{
}
}
Docblock Usability
For better usability (especially with type-aware IDEs like PHPStorm), make sure
you use @method
docblocks.
<?php
declare(strict_types=1);
namespace YourVendor\YourNamespace;
+ /
+ * @method bool foo(string $param = '')
+ */
class YourClassThatUsesStrictTypes
{
+ use \ParagonIE\Stern\SternTrait;
/.../
- public function foo(string $param = ''): bool
+ public function strictFoo(string $param = ''): bool
{
}
}
|
Applications that use this package |
|
No pages of applications that use this class were specified.
If you know an application of this package, send a message to the author to add a link here.