Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop code supporting php older than 5.3.3 #265

Merged
merged 13 commits into from
Oct 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 1 addition & 14 deletions library/Zend/Application/Bootstrap/BootstrapAbstract.php
Original file line number Diff line number Diff line change
Expand Up @@ -222,25 +222,12 @@ public function mergeOptions(array $array1, $array2 = null)
/**
* Get class resources (as resource/method pairs)
*
* Uses get_class_methods() by default, reflection on prior to 5.2.6,
* as a bug prevents the usage of get_class_methods() there.
*
* @return array
*/
public function getClassResources()
{
if (null === $this->_classResources) {
if (version_compare(PHP_VERSION, '5.2.6') === -1) {
$class = new ReflectionObject($this);
$classMethods = $class->getMethods();
$methodNames = [];

foreach ($classMethods as $method) {
$methodNames[] = $method->getName();
}
} else {
$methodNames = get_class_methods($this);
}
$methodNames = get_class_methods($this);

$this->_classResources = [];
foreach ($methodNames as $method) {
Expand Down
2 changes: 1 addition & 1 deletion library/Zend/Cloud/Exception.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public function __construct($message, $code = 0, $clientException = null)
}

public function getClientException() {
return $this->_getPrevious();
return $this->getPrevious();
}
}

344 changes: 0 additions & 344 deletions library/Zend/EventManager/ResponseCollection.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,350 +18,6 @@
* @license http://framework.zend.com/license/new-bsd New BSD License
*/

if (version_compare(PHP_VERSION, '5.3.0', '<')) {
class SplStack implements Iterator, ArrayAccess, Countable
{
/**
* Delete items during iteration
*/
const IT_MODE_DELETE = 1;

/**
* Keep items during iteration
*/
const IT_MODE_KEEP = 0;

/**
* Mode used when iterating
* @var int
*/
protected $mode = self::IT_MODE_KEEP;

/**
* Count of elements in the stack
*
* @var int
*/
protected $count = 0;

/**
* Data represented by this stack
*
* @var array
*/
protected $data = [];

/**
* Sorted stack of values
*
* @var false|array
*/
protected $stack = false;

/**
* Set the iterator mode
*
* Must be set to one of IT_MODE_DELETE or IT_MODE_KEEP
*
* @todo Currently, IteratorMode is ignored, as we use the default (keep); should this be implemented?
* @param int $mode
* @return void
* @throws InvalidArgumentException
*/
public function setIteratorMode($mode)
{
$expected = [
self::IT_MODE_DELETE => true,
self::IT_MODE_KEEP => true,
];

if (!isset($expected[$mode])) {
throw new InvalidArgumentException(sprintf('Invalid iterator mode specified ("%s")', $mode));
}

$this->mode = $mode;
}

/**
* Return last element in the stack
*
* @return mixed
*/
public function bottom()
{
$this->rewind();
$value = array_pop($this->stack);
array_push($this->stack, $value);
return $value;
}

/**
* Countable: return count of items in the stack
*
* @return int
*/
public function count(): int
{
return $this->count;
}

/**
* Iterator: return current item in the stack
*
* @return mixed
*/
#[\ReturnTypeWillChange]
public function current()
{
if (!$this->stack) {
$this->rewind();
}
return current($this->stack);
}

/**
* Get iteration mode
*
* @return int
*/
public function getIteratorMode()
{
return $this->mode;
}

/**
* Is the stack empty?
*
* @return bool
*/
public function isEmpty()
{
return $this->count === 0;
}

/**
* Iterator: return key of current item in the stack
*
* @return int|string|null
*/
#[\ReturnTypeWillChange]
public function key()
{
if (!$this->stack) {
$this->rewind();
}
return key($this->stack);
}

/**
* Iterator: advance pointer to next item in the stack
*
* @return void
*/
#[\ReturnTypeWillChange]
public function next()
{
if (!$this->stack) {
$this->rewind();
}
return next($this->stack);
}

/**
* ArrayAccess: does an item exist at the specified offset?
*
* @param mixed $index
* @return bool
*/
public function offsetExists($index): bool
{
return array_key_exists($index, $this->data);
}

/**
* ArrayAccess: get the item at the specified offset
*
* @param mixed $index
* @return mixed
* @throws OutOfRangeException
*/
#[\ReturnTypeWillChange]
public function offsetGet($index)
{
if (!$this->offsetExists($index)) {
throw OutOfRangeException(sprintf('Invalid index ("%s") specified', $index));
}
return $this->data[$index];
}

/**
* ArrayAccess: add an item at the specified offset
*
* @param mixed $index
* @param mixed $newval
* @return void
*/
public function offsetSet($index, $newval): void
{
$this->data[$index] = $newval;
$this->stack = false;
$this->count++;
}

/**
* ArrayAccess: unset the item at the specified offset
*
* @param mixed $index
* @return void
* @throws OutOfRangeException
*/
public function offsetUnset($index): void
{
if (!$this->offsetExists($index)) {
throw OutOfRangeException(sprintf('Invalid index ("%s") specified', $index));
}
unset($this->data[$index]);
$this->stack = false;
$this->count--;
}

/**
* Pop a node from the end of the stack
*
* @return mixed
* @throws RuntimeException
*/
public function pop()
{
$val = array_pop($this->data);
$this->stack = false;
$this->count--;
return $val;
}

/**
* Move the iterator to the previous node
*
* @todo Does this need to be implemented?
* @return void
*/
public function prev()
{
}

/**
* Push an element to the list
*
* @param mixed $value
* @return void
*/
public function push($value)
{
array_push($this->data, $value);
$this->count++;
$this->stack = false;
}

/**
* Iterator: rewind to beginning of stack
*
* @return void
*/
#[\ReturnTypeWillChange]
public function rewind()
{
if (is_array($this->stack)) {
return reset($this->stack);
}
$this->stack = array_reverse($this->data, true);
}

/**
* Serialize the storage
*
* @return string
*/
public function serialize(): ?string
{
return serialize($this->__serialize());
}

public function __serialize(): array
{
return $this->data;
}

/**
* Shifts a node from the beginning of the list
*
* @return mixed
* @throws RuntimeException
*/
public function shift()
{
$val = array_shift($this->data);
$this->stack = false;
$this->count--;
return $val;
}

/**
* Peek at the top node of the stack
*
* @return mixed
*/
public function top()
{
$this->rewind();
$value = array_shift($this->stack);
array_unshift($this->stack, $value);
return $value;
}

/**
* Unserialize the storage
*
* @param string
* @return void
*/
public function unserialize($serialized): void
{
$this->__unserialize(unserialize($serialized));
}

public function __unserialize(array $data): void
{
$this->data = $data;
$this->stack = false;
}

/**
* Unshift a node onto the beginning of the list
*
* @param mixed $value
* @return void
*/
public function unshift($value)
{
array_unshift($this->data, $value);
$this->count++;
$this->stack = false;
}

/**
* Iterator: is the current pointer valid?
*
* @return bool
*/
public function valid(): bool
{
$key = key($this->stack);

return ($key !== null && $key !== false);
}
}
}

/**
* Collection of signal handler return values
*
Expand Down
Loading