for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is a part of Sculpin.
*
* (c) Dragonfly Development Inc.
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symplify\PHP7_Sculpin\Output;
use Symfony\Component\Filesystem\Filesystem;
final class FilesystemWriter
{
/**
* @var Filesystem
private $filesystem;
* @var string
private $outputDir;
public function __construct(Filesystem $filesystem, string $outputDir)
$this->filesystem = $filesystem;
$this->outputDir = $outputDir;
}
public function write(SourceOutput $output)
$outputPath = $this->outputDir.'/'.$output->permalink()->relativeFilePath();
if ($output->hasFileReference()) {
$this->filesystem->copy($output->file(), $outputPath, true);
$output->file()
object<SplFileInfo>|null
string
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
} else {
$this->filesystem->mkdir(dirname($outputPath));
file_put_contents($outputPath, $output->formattedContent());
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: