for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types = 1);
namespace JSKOS;
use InvalidArgumentException;
/**
* Common methods of Containers with string members (Listing, LanguageMapOfStrings).
*/
trait StringContainer
{
* Stringify if value is a scalar, throw an expection otherwise.
protected static function checkMember($value)
if (is_scalar($value)) {
return "$value";
} else {
throw new InvalidArgumentException(
get_called_class() . ' may only contain strings'
);
}
* Check whether an equal member alredy exists in this Listing.
public function contains($member): bool
return in_array($member, $this->members);
members
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: