for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the 2amigos/yii2-exportable-widget project.
* (c) 2amigOS! <http://2amigos.us/>
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace dosamigos\exportable\factory;
use Box\Spout\Common\Helper\GlobalFunctionsHelper;
use Box\Spout\Writer\WriterFactory as BaseFactory;
use dosamigos\exportable\helpers\TypeHelper;
use dosamigos\exportable\writers\HtmlWriter;
use dosamigos\exportable\writers\JsonWriter;
use dosamigos\exportable\writers\TextWriter;
use dosamigos\exportable\writers\XmlWriter;
class WriterFactory extends BaseFactory
{
/**
* @inheritdoc
public static function create($writerType)
$writer = null;
$writer
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
$myVar = 'Value'; $higher = false; if (rand(1, 6) > 3) { $higher = true; } else { $higher = false; }
Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.
$myVar
$higher
switch ($writerType) {
case TypeHelper::TXT:
$writer = new TextWriter();
break;
case TypeHelper::JSON:
$writer = new JsonWriter();
case TypeHelper::XML:
$writer = new XmlWriter();
case TypeHelper::HTML:
$writer = new HtmlWriter();
default:
return parent::create($writerType);
}
$writer->setGlobalFunctionsHelper(new GlobalFunctionsHelper());
return $writer;
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVar
assignment in line 1 and the$higher
assignment in line 2 are dead. The first because$myVar
is never used and the second because$higher
is always overwritten for every possible time line.