vendor/bundles/Pagerfanta/Adapter/ArrayAdapter.php
author cavaliet
Fri, 21 Oct 2011 17:10:54 +0200
changeset 15 99ad73ef7385
permissions -rw-r--r--
first step for tag list and add Pagerfanta for paginator
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     1
<?php
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     2
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     3
/*
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     4
 * This file is part of the Pagerfanta package.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     5
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     6
 * (c) Pablo Díez <pablodip@gmail.com>
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     7
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     8
 * For the full copyright and license information, please view the LICENSE
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     9
 * file that was distributed with this source code.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    10
 */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    11
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    12
namespace Pagerfanta\Adapter;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    13
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    14
/**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    15
 * ArrayAdapter.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    16
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    17
 * @author Pablo Díez <pablodip@gmail.com>
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    18
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    19
 * @api
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    20
 */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    21
class ArrayAdapter implements AdapterInterface
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    22
{
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    23
    private $array;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    24
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    25
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    26
     * Constructor.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    27
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    28
     * @param array $array The array.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    29
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    30
     * @api
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    31
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    32
    public function __construct(array $array)
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    33
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    34
        $this->array = $array;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    35
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    36
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    37
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    38
     * Returns the array.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    39
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    40
     * @return array The array.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    41
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    42
     * @api
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    43
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    44
    public function getArray()
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    45
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    46
        return $this->array;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    47
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    48
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    49
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    50
     * {@inheritdoc}
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    51
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    52
    public function getNbResults()
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    53
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    54
        return count($this->array);
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    55
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    56
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    57
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    58
     * {@inheritdoc}
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    59
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    60
    public function getSlice($offset, $length)
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    61
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    62
        return array_slice($this->array, $offset, $length);
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    63
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    64
}