for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace drupol\phpartition;
class Subset {
/**
* @var BasePartitionAlgorithm
*/
protected $algo;
* @var SubsetItem[]
protected $items;
* @param \drupol\phpartition\SubsetItem $item
public function addItem(SubsetItem $item) {
$this->items[] = $item;
}
* @param SubsetItem[] $items
public function addItems(array $items = array()) {
foreach ($items as $item) {
$this->addItem($item);
* @return SubsetItem[]
public function getItems() {
return (array) $this->items;
* @return array
public function getRawItems() {
$data = array();
foreach ($this->getItems() as $item) {
$data[] = $item->getItem();
return $data;
* @return int
public function getWeight() {
$sum = 0;
foreach((array) $this->items as $item) {
$sum += $item->getValue();
return $sum;
* @param \drupol\phpartition\BasePartitionAlgorithm $algo
public function setAlgo(BasePartitionAlgorithm $algo) {
$this->algo = $algo;
* @return BasePartitionAlgorithm
public function getAlgo() {
return $this->algo;