Stern lets you built type-safe PHP projects, even if your project's users aren't writing type-safe code.
Requires PHP 7+
Using Stern is simply:
- Make your class use the
SternTrait
. - Rename your methods from
whateverName
tostrictWhateverName
. - Enjoy strict-typing whether your users like it or not.
<?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
{
}
}
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
{
}
}