for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace ComposerRequireChecker\DefinedSymbolsLocator;
class LocatedSymbolsAndIncludes
{
/**
* @var string[]
*/
private $symbols = [];
private $includes = [];
private $previousIncludes = [];
* @return string[]
public function getSymbols(): array
return $this->symbols;
}
public function getIncludes(): array
return $this->includes;
* @param string[] $symbols
* @return LocatedSymbolsAndIncludes
public function addSymbols(array $symbols): LocatedSymbolsAndIncludes
$this->symbols = $this->arrayMergeUnique($this->symbols, $symbols);
return $this;
* @param string[] $includes
public function setIncludes(array $includes): LocatedSymbolsAndIncludes
$this->includes = array_diff($includes, $this->previousIncludes);
$this->previousIncludes = $this->arrayMergeUnique($this->previousIncludes, $includes);
* @param array $into
* @param array $add
* @return array
private function arrayMergeUnique(array $into, array $add): array
return array_values(array_unique(array_merge($into, ...$add)));