Gc\View\Helper\Documents::__invoke PHP Méthode

__invoke() public méthode

Returns documents $data can be mixed if data is an array, return all documents if data is numeric, return all documents with parent_id equal to $data if data is string, return all documents with parent's url key equal to $data
public __invoke ( mixed $data = null ) : array
$data mixed Data
Résultat array \Gc\Document\Model
    public function __invoke($data = null)
    {
        $elements = array();
        $documents = new DocumentCollection();
        if (empty($data)) {
            $elements = $documents->load(0)->getDocuments();
        } else {
            if (is_numeric($data)) {
                $elements = $documents->load($data)->getDocuments();
            } elseif (is_string($data)) {
                $document = DocumentModel::fromUrlKey($data);
                $elements = $document->getChildren();
            } elseif (is_array($data)) {
                foreach ($data as $documentId) {
                    if (empty($documentId)) {
                        continue;
                    }
                    $document = $this->getView()->document($documentId);
                    if (!empty($document)) {
                        $elements[] = $document;
                    }
                }
            }
        }
        return $elements;
    }

Usage Example

Exemple #1
0
 /**
  * Test
  *
  * @return void
  */
 public function testInvokeWithParameters()
 {
     $this->assertInternalType('array', $this->object->__invoke(1));
     $this->assertInternalType('array', $this->object->__invoke('url-key'));
     $this->assertInternalType('array', $this->object->__invoke(array(0, $this->document->getId())));
 }
Documents