This check looks for calls to methods that do not seem to exist on a given type.
It looks for the method on the type itself as well as in inherited classes or
implemented interfaces.
This is most likely a typographical error or the method has been renamed.
Loading history...
15
$return = '';
16
foreach ($options as $value=>$atribs) {
17
if (is_string($value) && !isset($atribs['label'])) {
Are you sure the assignment to $selectedValue is correct as $this->getElement()->getValue() targeting Nip\Form\Elements\AbstractElement::getValue() seems to always return null.
This check looks for function or method calls that always return null and whose
return value is assigned to a variable.
Using logical operators such as or instead of || is generally not recommended.
PHP has two types of connecting operators (logical operators, and boolean operators):
Logical Operators
Boolean Operator
AND - meaning
and
&&
OR - meaning
or
||
The difference between these is the order in which they are executed. In most cases,
you would want to use a boolean operator like &&, or ||.
Let’s take a look at a few examples:
// Logical operators have lower precedence:$f=falseortrue;// is executed like this:($f=false)ortrue;// Boolean operators have higher precedence:$f=false||true;// is executed like this:$f=(false||true);
Logical Operators are used for Control-Flow
One case where you explicitly want to use logical operators is for control-flow
such as this:
$x===5ordie('$x must be 5.');// Instead ofif($x!==5){die('$x must be 5.');}
Since die introduces problems of its own, f.e. it makes our code hardly
testable, and prevents any kind of more sophisticated error handling; you probably
do not want to use this in real-world code. Unfortunately, logical operators
cannot be combined with throw at this point:
// The following is currently a parse error.$x===5orthrownewRuntimeException('$x must be 5.');
These limitations lead to logical operators rarely being of use in current
PHP code.
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.