source/Stream/Filters/SkipEmptyLinesFilter.php
Avoid unused parameters such as '$closing'. Open
Open
public function filter($in, $out, &$consumed, $closing) {
- Read upRead up
- Exclude checks
UnusedFormalParameter
Since: 0.2
Avoid passing parameters to methods or constructors and then not using those parameters.
Example
class Foo
{
private function bar($howdy)
{
// $howdy is not used
}
}
Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter
Define a constant instead of duplicating this literal "logger" 3 times. Open
Open
&& isset($this->params['logger'])
- Read upRead up
- Exclude checks
Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.
On the other hand, constants can be referenced from many places, but only need to be updated in a single place.
Noncompliant Code Example
With the default threshold of 3:
function run() { prepare('action1'); // Non-Compliant - 'action1' is duplicated 3 times execute('action1'); release('action1'); }
Compliant Solution
ACTION_1 = 'action1'; function run() { prepare(ACTION_1); execute(ACTION_1); release(ACTION_1); }
Exceptions
To prevent generating some false-positives, literals having less than 5 characters are excluded.
Avoid variables with short names like $in. Configured minimum length is 3. Open
Open
public function filter($in, $out, &$consumed, $closing) {
- Read upRead up
- Exclude checks
ShortVariable
Since: 0.2
Detects when a field, local, or parameter has a very short name.
Example
class Something {
private $q = 15; // VIOLATION - Field
public static function main( array $as ) { // VIOLATION - Formal
$r = 20 + $this->q; // VIOLATION - Local
for (int $i = 0; $i < 10; $i++) { // Not a Violation (inside FOR)
$r += $this->q;
}
}
}
Source https://phpmd.org/rules/naming.html#shortvariable
Opening brace of a class must be on the line after the definition Open
Open
class SkipEmptyLinesFilter extends \php_user_filter implements CustomFilterInterface {
- Exclude checks
Only one argument is allowed per line in a multi-line function call Open
Open
$bucket->data, -1,
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
stream_bucket_append($out, $bucket);
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
$consumed += $bucket->datalen;
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
}
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
$bucket->data = preg_replace(
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
}
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
$replacedCount = 0;
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
&& isset($this->params['logger'])
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
public function filter($in, $out, &$consumed, $closing) {
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
public $filtername = self::NAME;
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
$replacedCount
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
);
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
$this->params['logger']->debug($replacedCount . ' lines skipped as empty.');
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
$bucket->data, -1,
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
&& $this->params['logger'] instanceof LoggerInterface
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
public const NAME = 'RTP_skip_empty_lines';
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
while ($bucket = stream_bucket_make_writeable($in)) {
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
PHP_EOL,
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
if ($replacedCount > 0
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
) {
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
return PSFS_PASS_ON;
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
'/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/mui',
- Exclude checks
Spaces must be used to indent lines; tabs are not allowed Open
Open
}
- Exclude checks
Opening brace should be on a new line Open
Open
public function filter($in, $out, &$consumed, $closing) {
- Exclude checks