for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare (strict_types = 1);
namespace Phpml\NeuralNetwork;
use Phpml\Exception\InvalidArgumentException;
use Phpml\NeuralNetwork\Node\Neuron;
class Layer
{
/**
* @var Node[]
*/
private $nodes = [];
* @param int $nodesNumber
* @param string $nodeClass
*
* @throws InvalidArgumentException
public function __construct(int $nodesNumber = 0, string $nodeClass = Neuron::class)
if (!in_array(Node::class, class_implements($nodeClass))) {
throw InvalidArgumentException::invalidLayerNodeClass();
}
for ($i = 0; $i < $nodesNumber; ++$i) {
$this->nodes[] = new $nodeClass();
* @param Node $node
public function addNode(Node $node)
$this->nodes[] = $node;
* @return Node[]
public function getNodes()
return $this->nodes;