Scalar type hints, return types, and camelCased methods
This commit is contained in:
parent
ffaa4a4cab
commit
5890f14c50
@ -30,7 +30,7 @@ trait ArrayWrapper {
|
||||
* @param array $arr
|
||||
* @return ArrayType
|
||||
*/
|
||||
public function arr(array $arr)
|
||||
public function arr(array $arr): ArrayType
|
||||
{
|
||||
return new ArrayType($arr);
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ namespace Aviat\Ion\Cache\Driver;
|
||||
use Aviat\Ion\ConfigInterface;
|
||||
use Aviat\Ion\Exception\ConfigException;
|
||||
use Aviat\Ion\Model\DB;
|
||||
use PDO;
|
||||
|
||||
/**
|
||||
* Driver for caching via a traditional SQL database
|
||||
@ -63,8 +64,8 @@ class SQLDriver extends DB implements DriverInterface {
|
||||
->from('cache')
|
||||
->where('key', $key)
|
||||
->get();
|
||||
|
||||
$row = $query->fetch(\PDO::FETCH_ASSOC);
|
||||
|
||||
$row = $query->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if (empty($row))
|
||||
{
|
||||
@ -106,7 +107,7 @@ class SQLDriver extends DB implements DriverInterface {
|
||||
{
|
||||
$this->db->where('key', $key)
|
||||
->delete('cache');
|
||||
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
@ -16,9 +16,8 @@
|
||||
|
||||
namespace Aviat\Ion;
|
||||
|
||||
|
||||
use Aviat\Ion\Exception\ConfigException;
|
||||
|
||||
use Aviat\Ion\Type\ArrayType;
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
@ -31,18 +30,18 @@ class Config implements ConfigInterface {
|
||||
/**
|
||||
* Config object
|
||||
*
|
||||
* @var \Aviat\Ion\Type\ArrayType
|
||||
* @var ArrayType
|
||||
*/
|
||||
protected $map = [];
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $config_array
|
||||
* @param array $configArray
|
||||
*/
|
||||
public function __construct(array $config_array = [])
|
||||
public function __construct(array $configArray = [])
|
||||
{
|
||||
$this->map = $this->arr($config_array);
|
||||
$this->map = $this->arr($configArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -56,7 +55,7 @@ class Config implements ConfigInterface {
|
||||
{
|
||||
if (is_array($key))
|
||||
{
|
||||
return $this->map->get_deep_key($key);
|
||||
return $this->map->getDeepKey($key);
|
||||
}
|
||||
|
||||
return $this->map->get($key);
|
||||
@ -72,7 +71,7 @@ class Config implements ConfigInterface {
|
||||
{
|
||||
if (is_array($key))
|
||||
{
|
||||
$this->map->set_deep_key($key, NULL);
|
||||
$this->map->setDeepKey($key, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -87,13 +86,13 @@ class Config implements ConfigInterface {
|
||||
* @param integer|string|array $key
|
||||
* @param mixed $value
|
||||
* @throws InvalidArgumentException
|
||||
* @return Config
|
||||
* @return ConfigInterface
|
||||
*/
|
||||
public function set($key, $value)
|
||||
public function set($key, $value): ConfigInterface
|
||||
{
|
||||
if (is_array($key))
|
||||
{
|
||||
$this->map->set_deep_key($key, $value);
|
||||
$this->map->setDeepKey($key, $value);
|
||||
}
|
||||
else if (is_scalar($key) && ! empty($key))
|
||||
{
|
||||
|
@ -36,7 +36,7 @@ interface ConfigInterface {
|
||||
* @throws \InvalidArgumentException
|
||||
* @return ConfigInterface
|
||||
*/
|
||||
public function set($key, $value);
|
||||
public function set($key, $value): ConfigInterface;
|
||||
|
||||
/**
|
||||
* Remove a config value
|
||||
|
@ -16,12 +16,9 @@
|
||||
|
||||
namespace Aviat\Ion\Di;
|
||||
|
||||
use Aviat\Ion\Di\Exception\{ContainerException, NotFoundException};
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
use Aviat\Ion\Di\Exception\ContainerException;
|
||||
use Aviat\Ion\Di\Exception\NotFoundException;
|
||||
|
||||
|
||||
/**
|
||||
* Dependency container
|
||||
*/
|
||||
@ -106,13 +103,13 @@ class Container implements ContainerInterface {
|
||||
{
|
||||
if ( ! is_string($id))
|
||||
{
|
||||
throw new ContainerException("Id must be a string");
|
||||
throw new ContainerException('Id must be a string');
|
||||
}
|
||||
|
||||
if ($this->has($id))
|
||||
{
|
||||
// By default, call a factory with the Container
|
||||
$args = (is_array($args)) ? $args : [$this];
|
||||
$args = is_array($args) ? $args : [$this];
|
||||
$obj = call_user_func_array($this->container[$id], $args);
|
||||
|
||||
// Check for container interface, and apply the container to the object
|
||||
@ -130,7 +127,7 @@ class Container implements ContainerInterface {
|
||||
* @param Callable $value - a factory callable for the item
|
||||
* @return ContainerInterface
|
||||
*/
|
||||
public function set($id, Callable $value)
|
||||
public function set(string $id, Callable $value): ContainerInterface
|
||||
{
|
||||
$this->container[$id] = $value;
|
||||
return $this;
|
||||
@ -144,7 +141,7 @@ class Container implements ContainerInterface {
|
||||
* @throws NotFoundException - No entry was found for this identifier.
|
||||
* @return ContainerInterface
|
||||
*/
|
||||
public function setInstance($id, $value)
|
||||
public function setInstance(string $id, $value): ContainerInterface
|
||||
{
|
||||
if ( ! $this->has($id))
|
||||
{
|
||||
@ -162,7 +159,7 @@ class Container implements ContainerInterface {
|
||||
* @param string $id Identifier of the entry to look for.
|
||||
* @return boolean
|
||||
*/
|
||||
public function has($id)
|
||||
public function has($id): bool
|
||||
{
|
||||
return array_key_exists($id, $this->container);
|
||||
}
|
||||
@ -173,7 +170,7 @@ class Container implements ContainerInterface {
|
||||
* @param string $id The logger channel
|
||||
* @return boolean
|
||||
*/
|
||||
public function hasLogger($id = 'default')
|
||||
public function hasLogger(string $id = 'default'): bool
|
||||
{
|
||||
return array_key_exists($id, $this->loggers);
|
||||
}
|
||||
@ -185,7 +182,7 @@ class Container implements ContainerInterface {
|
||||
* @param string $id The logger 'channel'
|
||||
* @return ContainerInterface
|
||||
*/
|
||||
public function setLogger(LoggerInterface $logger, $id = 'default')
|
||||
public function setLogger(LoggerInterface $logger, string $id = 'default'): ContainerInterface
|
||||
{
|
||||
$this->loggers[$id] = $logger;
|
||||
return $this;
|
||||
@ -197,9 +194,9 @@ class Container implements ContainerInterface {
|
||||
* @param string $id The logger to retrieve
|
||||
* @return LoggerInterface|null
|
||||
*/
|
||||
public function getLogger($id = 'default')
|
||||
public function getLogger(string $id = 'default')
|
||||
{
|
||||
return ($this->hasLogger($id))
|
||||
return $this->hasLogger($id)
|
||||
? $this->loggers[$id]
|
||||
: NULL;
|
||||
}
|
||||
@ -217,8 +214,8 @@ class Container implements ContainerInterface {
|
||||
$trait_name = __NAMESPACE__ . '\\ContainerAware';
|
||||
$interface_name = __NAMESPACE__ . '\\ContainerAwareInterface';
|
||||
|
||||
$uses_trait = in_array($trait_name, class_uses($obj));
|
||||
$implements_interface = in_array($interface_name, class_implements($obj));
|
||||
$uses_trait = in_array($trait_name, class_uses($obj), TRUE);
|
||||
$implements_interface = in_array($interface_name, class_implements($obj), TRUE);
|
||||
|
||||
if ($uses_trait OR $implements_interface)
|
||||
{
|
||||
|
@ -45,7 +45,7 @@ trait ContainerAware {
|
||||
*
|
||||
* @return ContainerInterface
|
||||
*/
|
||||
public function getContainer()
|
||||
public function getContainer(): ContainerInterface
|
||||
{
|
||||
return $this->container;
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ interface ContainerAwareInterface {
|
||||
*
|
||||
* @return ContainerInterface
|
||||
*/
|
||||
public function getContainer();
|
||||
public function getContainer(): ContainerInterface;
|
||||
|
||||
}
|
||||
// End of ContainerAwareInterface.php
|
@ -16,13 +16,36 @@
|
||||
|
||||
namespace Aviat\Ion\Di;
|
||||
|
||||
use Interop\Container\ContainerInterface as InteropInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
/**
|
||||
* Interface for the Dependency Injection Container
|
||||
*
|
||||
* Based on container-interop interface, but return types and
|
||||
* scalar type hints make the interface incompatible to the PHP parser
|
||||
*
|
||||
* @see https://github.com/container-interop/container-interop
|
||||
*/
|
||||
interface ContainerInterface extends InteropInterface {
|
||||
interface ContainerInterface {
|
||||
|
||||
/**
|
||||
* Finds an entry of the container by its identifier and returns it.
|
||||
*
|
||||
* @param string $id Identifier of the entry to look for.
|
||||
* @throws NotFoundException No entry was found for this identifier.
|
||||
* @throws ContainerException Error while retrieving the entry.
|
||||
* @return mixed Entry.
|
||||
*/
|
||||
public function get($id);
|
||||
|
||||
/**
|
||||
* Returns true if the container can return an entry for the given identifier.
|
||||
* Returns false otherwise.
|
||||
*
|
||||
* @param string $id Identifier of the entry to look for.
|
||||
* @return boolean
|
||||
*/
|
||||
public function has($id): bool;
|
||||
|
||||
/**
|
||||
* Add a factory to the container
|
||||
@ -31,7 +54,7 @@ interface ContainerInterface extends InteropInterface {
|
||||
* @param Callable $value - a factory callable for the item
|
||||
* @return ContainerInterface
|
||||
*/
|
||||
public function set($id, Callable $value);
|
||||
public function set(string $id, Callable $value): ContainerInterface;
|
||||
|
||||
/**
|
||||
* Set a specific instance in the container for an existing factory
|
||||
@ -40,7 +63,7 @@ interface ContainerInterface extends InteropInterface {
|
||||
* @param mixed $value
|
||||
* @return ContainerInterface
|
||||
*/
|
||||
public function setInstance($id, $value);
|
||||
public function setInstance(string $id, $value): ContainerInterface;
|
||||
|
||||
/**
|
||||
* Get a new instance of the specified item
|
||||
@ -55,22 +78,22 @@ interface ContainerInterface extends InteropInterface {
|
||||
* @param string $id The logger channel
|
||||
* @return boolean
|
||||
*/
|
||||
public function hasLogger($id = 'default');
|
||||
public function hasLogger(string $id = 'default'): bool;
|
||||
|
||||
/**
|
||||
* Add a logger to the Container
|
||||
*
|
||||
* @param LoggerInterface $logger
|
||||
* @param string $id The logger 'channel'
|
||||
* @return Container
|
||||
* @return ContainerInterface
|
||||
*/
|
||||
public function setLogger(LoggerInterface $logger, $id = 'default');
|
||||
public function setLogger(LoggerInterface $logger, string $id = 'default'): ContainerInterface;
|
||||
|
||||
/**
|
||||
* Retrieve a logger for the selected channel
|
||||
*
|
||||
* @param string $id The logger to retreive
|
||||
* @param string $id The logger to retrieve
|
||||
* @return LoggerInterface|null
|
||||
*/
|
||||
public function getLogger($id = 'default');
|
||||
public function getLogger(string $id = 'default');
|
||||
}
|
@ -16,10 +16,13 @@
|
||||
|
||||
namespace Aviat\Ion\Di\Exception;
|
||||
|
||||
use Exception;
|
||||
use Interop\Container\Exception\ContainerException as InteropContainerException;
|
||||
|
||||
/**
|
||||
* Generic exception for Di Container
|
||||
*/
|
||||
class ContainerException extends \Exception implements \Interop\Container\Exception\ContainerException {
|
||||
class ContainerException extends Exception implements InteropContainerException {
|
||||
|
||||
}
|
||||
// End of ContainerException.php
|
@ -16,11 +16,13 @@
|
||||
|
||||
namespace Aviat\Ion\Di\Exception;
|
||||
|
||||
use Interop\Container\Exception\NotFoundException as InteropNotFoundException;
|
||||
|
||||
/**
|
||||
* Exception for Di Container when trying to access a
|
||||
* key that doesn't exist in the container
|
||||
*/
|
||||
class NotFoundException extends ContainerException implements \Interop\Container\Exception\NotFoundException {
|
||||
class NotFoundException extends ContainerException implements InteropNotFoundException {
|
||||
|
||||
}
|
||||
// End of NotFoundException.php
|
@ -33,7 +33,7 @@ abstract class Enum {
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getConstList()
|
||||
protected function getConstList(): array
|
||||
{
|
||||
$reflect = new ReflectionClass($this);
|
||||
return $reflect->getConstants();
|
||||
@ -44,7 +44,7 @@ abstract class Enum {
|
||||
* @param mixed $key
|
||||
* @return boolean
|
||||
*/
|
||||
protected function isValid($key)
|
||||
protected function isValid($key): bool
|
||||
{
|
||||
$values = array_values($this->getConstList());
|
||||
return in_array($key, $values);
|
||||
|
@ -16,9 +16,11 @@
|
||||
|
||||
namespace Aviat\Ion\Exception;
|
||||
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Exception for bad configuration
|
||||
*/
|
||||
class ConfigException extends \InvalidArgumentException {
|
||||
class ConfigException extends InvalidArgumentException {
|
||||
|
||||
}
|
@ -16,10 +16,13 @@
|
||||
|
||||
namespace Aviat\Ion\Exception;
|
||||
|
||||
use Exception;
|
||||
use LogicException;
|
||||
|
||||
/**
|
||||
* Exception called when a view is attempted to be sent twice
|
||||
*/
|
||||
class DoubleRenderException extends \LogicException {
|
||||
class DoubleRenderException extends LogicException {
|
||||
|
||||
/**
|
||||
* DoubleRenderException constructor.
|
||||
@ -28,7 +31,7 @@ class DoubleRenderException extends \LogicException {
|
||||
* @param int $code
|
||||
* @param null $previous
|
||||
*/
|
||||
public function __construct($message = 'A view can only be rendered once, because headers can only be sent once.', $code = 0, $previous = NULL)
|
||||
public function __construct(string $message = 'A view can only be rendered once, because headers can only be sent once.', int $code = 0, Exception $previous = NULL)
|
||||
{
|
||||
parent::__construct($message, $code, $previous);
|
||||
}
|
||||
|
@ -16,11 +16,11 @@
|
||||
|
||||
namespace Aviat\Ion;
|
||||
|
||||
use BadMethodCallException;
|
||||
use InvalidArgumentException;
|
||||
use ReflectionClass;
|
||||
use ReflectionMethod;
|
||||
use ReflectionProperty;
|
||||
use InvalidArgumentException;
|
||||
use BadMethodCallException;
|
||||
|
||||
/**
|
||||
* Friend class for testing
|
||||
@ -62,7 +62,7 @@ class Friend {
|
||||
* @param string $key
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($key)
|
||||
public function __get(string $key)
|
||||
{
|
||||
if ($this->_reflect_->hasProperty($key))
|
||||
{
|
||||
@ -80,7 +80,7 @@ class Friend {
|
||||
* @param mixed $value
|
||||
* @return void
|
||||
*/
|
||||
public function __set($key, $value)
|
||||
public function __set(string $key, $value)
|
||||
{
|
||||
if ($this->_reflect_->hasProperty($key))
|
||||
{
|
||||
@ -97,7 +97,7 @@ class Friend {
|
||||
* @return mixed
|
||||
* @throws BadMethodCallException
|
||||
*/
|
||||
public function __call($method, $args)
|
||||
public function __call(string $method, array $args)
|
||||
{
|
||||
if ( ! $this->_reflect_->hasMethod($method))
|
||||
{
|
||||
@ -116,7 +116,7 @@ class Friend {
|
||||
* @param string $name
|
||||
* @return ReflectionProperty|null
|
||||
*/
|
||||
private function _get_property($name)
|
||||
private function _get_property(string $name)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
18
src/Json.php
18
src/Json.php
@ -43,26 +43,26 @@ class Json {
|
||||
*
|
||||
* @param string $filename
|
||||
* @param mixed $data
|
||||
* @param int $json_options - Options to pass to json_encode
|
||||
* @param int $file_options - Options to pass to file_get_contents
|
||||
* @param int $jsonOptions - Options to pass to json_encode
|
||||
* @param int $fileOptions - Options to pass to file_get_contents
|
||||
* @return int
|
||||
*/
|
||||
public static function encodeFile($filename, $data, $json_options = 0, $file_options = 0)
|
||||
public static function encodeFile(string $filename, $data, int $jsonOptions = 0, int $fileOptions = 0): int
|
||||
{
|
||||
$json = self::encode($data, $json_options);
|
||||
return file_put_contents($filename, $json, $file_options);
|
||||
$json = self::encode($data, $jsonOptions);
|
||||
return file_put_contents($filename, $json, $fileOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode data from json
|
||||
*
|
||||
* @param string $json
|
||||
* @param string|null $json
|
||||
* @param bool $assoc
|
||||
* @param int $depth
|
||||
* @param int $options
|
||||
* @return mixed
|
||||
*/
|
||||
public static function decode($json, $assoc = TRUE, $depth = 512, $options = 0)
|
||||
public static function decode($json, bool $assoc = TRUE, int $depth = 512, int $options = 0)
|
||||
{
|
||||
// Don't try to decode null
|
||||
if (empty($json))
|
||||
@ -86,7 +86,7 @@ class Json {
|
||||
* @param int $options
|
||||
* @return mixed
|
||||
*/
|
||||
public static function decodeFile($filename, $assoc = TRUE, $depth = 512, $options = 0)
|
||||
public static function decodeFile(string $filename, bool $assoc = TRUE, int $depth = 512, int $options = 0)
|
||||
{
|
||||
$json = file_get_contents($filename);
|
||||
return self::decode($json, $assoc, $depth, $options);
|
||||
@ -98,7 +98,7 @@ class Json {
|
||||
* @param string $string
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isJson($string)
|
||||
public static function isJson(string $string): bool
|
||||
{
|
||||
return StringType::create($string)->isJson();
|
||||
}
|
||||
|
@ -16,10 +16,12 @@
|
||||
|
||||
namespace Aviat\Ion;
|
||||
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Exceptions thrown by the Json class
|
||||
*/
|
||||
class JsonException extends \InvalidArgumentException {
|
||||
class JsonException extends InvalidArgumentException {
|
||||
|
||||
}
|
||||
// End of JsonException.php
|
@ -37,7 +37,7 @@ trait StaticInstance {
|
||||
* @param array $args
|
||||
* @return mixed
|
||||
*/
|
||||
public function __call($method, $args)
|
||||
public function __call(string $method, array $args)
|
||||
{
|
||||
if (method_exists($this, $method))
|
||||
{
|
||||
@ -53,7 +53,7 @@ trait StaticInstance {
|
||||
* @param array $args
|
||||
* @return mixed
|
||||
*/
|
||||
public static function __callStatic($method, $args)
|
||||
public static function __callStatic(string $method, array $args)
|
||||
{
|
||||
$class = get_called_class();
|
||||
if ( ! array_key_exists($class, self::$instance))
|
||||
|
@ -16,12 +16,14 @@
|
||||
|
||||
namespace Aviat\Ion\Transformer;
|
||||
|
||||
use Aviat\Ion\StringWrapper;
|
||||
|
||||
/**
|
||||
* Base class for data trasformation
|
||||
*/
|
||||
abstract class AbstractTransformer implements TransformerInterface {
|
||||
|
||||
use \Aviat\Ion\StringWrapper;
|
||||
use StringWrapper;
|
||||
|
||||
/**
|
||||
* Mutate the data structure
|
||||
@ -37,7 +39,7 @@ abstract class AbstractTransformer implements TransformerInterface {
|
||||
* @param array|object $collection
|
||||
* @return array
|
||||
*/
|
||||
public function transform_collection($collection)
|
||||
public function transformCollection($collection): array
|
||||
{
|
||||
$list = (array)$collection;
|
||||
return array_map([$this, 'transform'], $list);
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
namespace Aviat\Ion\Type;
|
||||
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Wrapper class for native array methods for convenience
|
||||
*
|
||||
@ -37,7 +39,7 @@ class ArrayType {
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $native_methods = [
|
||||
protected $nativeMethods = [
|
||||
'chunk' => 'array_chunk',
|
||||
'pluck' => 'array_column',
|
||||
'key_diff' => 'array_diff_key',
|
||||
@ -62,7 +64,7 @@ class ArrayType {
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $native_in_place_methods = [
|
||||
protected $nativeInPlaceMethods = [
|
||||
'shuffle' => 'shuffle',
|
||||
'shift' => 'array_shift',
|
||||
'unshift' => 'array_unshift',
|
||||
@ -88,35 +90,35 @@ class ArrayType {
|
||||
* @return mixed
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function __call($method, $args)
|
||||
public function __call(string $method, array $args)
|
||||
{
|
||||
// Simple mapping for the majority of methods
|
||||
if (array_key_exists($method, $this->native_methods))
|
||||
if (array_key_exists($method, $this->nativeMethods))
|
||||
{
|
||||
$func = $this->native_methods[$method];
|
||||
$func = $this->nativeMethods[$method];
|
||||
// Set the current array as the first argument of the method
|
||||
array_unshift($args, $this->arr);
|
||||
return call_user_func_array($func, $args);
|
||||
}
|
||||
|
||||
// Mapping for in-place methods
|
||||
if (array_key_exists($method, $this->native_in_place_methods))
|
||||
if (array_key_exists($method, $this->nativeInPlaceMethods))
|
||||
{
|
||||
$func = $this->native_in_place_methods[$method];
|
||||
$func = $this->nativeInPlaceMethods[$method];
|
||||
$func($this->arr);
|
||||
return $this->arr;
|
||||
}
|
||||
|
||||
throw new \InvalidArgumentException("Method '{$method}' does not exist");
|
||||
throw new InvalidArgumentException("Method '{$method}' does not exist");
|
||||
}
|
||||
|
||||
/**
|
||||
* Does the passed key exist in the current array?
|
||||
*
|
||||
* @param string $key
|
||||
* @param int|string $key
|
||||
* @return bool
|
||||
*/
|
||||
public function has_key($key)
|
||||
public function hasKey($key): bool
|
||||
{
|
||||
return array_key_exists($key, $this->arr);
|
||||
}
|
||||
@ -129,7 +131,7 @@ class ArrayType {
|
||||
* @param mixed $value
|
||||
* @return array
|
||||
*/
|
||||
public function fill($start_index, $num, $value)
|
||||
public function fill(int $start_index, int $num, $value): array
|
||||
{
|
||||
return array_fill($start_index, $num, $value);
|
||||
}
|
||||
@ -140,7 +142,7 @@ class ArrayType {
|
||||
* @param callable $callback
|
||||
* @return array
|
||||
*/
|
||||
public function map(callable $callback)
|
||||
public function map(callable $callback): array
|
||||
{
|
||||
return array_map($callback, $this->arr);
|
||||
}
|
||||
@ -152,7 +154,7 @@ class ArrayType {
|
||||
* @param bool $strict
|
||||
* @return false|integer|string
|
||||
*/
|
||||
public function search($value, $strict = FALSE)
|
||||
public function search($value, bool $strict = TRUE)
|
||||
{
|
||||
return array_search($value, $this->arr, $strict);
|
||||
}
|
||||
@ -164,7 +166,7 @@ class ArrayType {
|
||||
* @param bool $strict
|
||||
* @return bool
|
||||
*/
|
||||
public function has($value, $strict = FALSE)
|
||||
public function has($value, bool $strict = TRUE): bool
|
||||
{
|
||||
return in_array($value, $this->arr, $strict);
|
||||
}
|
||||
@ -184,7 +186,7 @@ class ArrayType {
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->has_key($key))
|
||||
if ($this->hasKey($key))
|
||||
{
|
||||
$value =& $this->arr[$key];
|
||||
}
|
||||
@ -200,7 +202,7 @@ class ArrayType {
|
||||
* @param mixed $value
|
||||
* @return ArrayType
|
||||
*/
|
||||
public function set($key, $value)
|
||||
public function set($key, $value): ArrayType
|
||||
{
|
||||
$this->arr[$key] = $value;
|
||||
return $this;
|
||||
@ -212,7 +214,7 @@ class ArrayType {
|
||||
* @param array $key
|
||||
* @return mixed
|
||||
*/
|
||||
public function &get_deep_key(array $key)
|
||||
public function &getDeepKey(array $key)
|
||||
{
|
||||
$pos =& $this->arr;
|
||||
|
||||
@ -241,7 +243,7 @@ class ArrayType {
|
||||
* @param mixed $value
|
||||
* @return array
|
||||
*/
|
||||
public function set_deep_key(array $key, $value)
|
||||
public function setDeepKey(array $key, $value): array
|
||||
{
|
||||
$pos =& $this->arr;
|
||||
|
||||
|
10
src/View.php
10
src/View.php
@ -75,7 +75,7 @@ abstract class View
|
||||
* @throws DoubleRenderException
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
public function __toString(): string
|
||||
{
|
||||
if ($this->hasRendered)
|
||||
{
|
||||
@ -88,10 +88,10 @@ abstract class View
|
||||
/**
|
||||
* Set the output string
|
||||
*
|
||||
* @param string $string
|
||||
* @param mixed $string
|
||||
* @return ViewInterface
|
||||
*/
|
||||
public function setOutput($string)
|
||||
public function setOutput($string): ViewInterface
|
||||
{
|
||||
$this->response->getBody()->write($string);
|
||||
|
||||
@ -104,7 +104,7 @@ abstract class View
|
||||
* @param string $string
|
||||
* @return ViewInterface
|
||||
*/
|
||||
public function appendOutput($string)
|
||||
public function appendOutput(string $string): ViewInterface
|
||||
{
|
||||
return $this->setOutput($string);
|
||||
}
|
||||
@ -115,7 +115,7 @@ abstract class View
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getOutput()
|
||||
public function getOutput(): string
|
||||
{
|
||||
return $this->response->getBody()->__toString();
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ class HtmlView extends HttpView {
|
||||
* @param array $data
|
||||
* @return string
|
||||
*/
|
||||
public function render_template($path, $data)
|
||||
public function renderTemplate(string $path, array $data): string
|
||||
{
|
||||
$data['helper'] = $this->helper;
|
||||
$data['escape'] = $this->helper->escape();
|
||||
|
@ -41,7 +41,7 @@ class HttpView extends BaseView {
|
||||
* @param int $code
|
||||
* @return void
|
||||
*/
|
||||
public function redirect($url, $code)
|
||||
public function redirect(string $url, int $code)
|
||||
{
|
||||
ob_start();
|
||||
$message = $this->response->getReasonPhrase($code);
|
||||
@ -64,7 +64,7 @@ class HttpView extends BaseView {
|
||||
* @param int $code
|
||||
* @return HttpView
|
||||
*/
|
||||
public function setStatusCode($code)
|
||||
public function setStatusCode(int $code): HttpView
|
||||
{
|
||||
$this->response = $this->response->withStatus($code)
|
||||
->withProtocolVersion('1.1');
|
||||
|
@ -37,7 +37,7 @@ class JsonView extends HttpView {
|
||||
* @param mixed $string
|
||||
* @return ViewInterface
|
||||
*/
|
||||
public function setOutput($string)
|
||||
public function setOutput($string): ViewInterface
|
||||
{
|
||||
if ( ! is_string($string))
|
||||
{
|
||||
|
@ -29,15 +29,15 @@ interface ViewInterface {
|
||||
* @throws DoubleRenderException
|
||||
* @return string
|
||||
*/
|
||||
public function __toString();
|
||||
public function __toString(): string;
|
||||
|
||||
/**
|
||||
* Set the output string
|
||||
*
|
||||
* @param string $string
|
||||
* @param mixed $string
|
||||
* @return ViewInterface
|
||||
*/
|
||||
public function setOutput($string);
|
||||
public function setOutput($string): ViewInterface;
|
||||
|
||||
/**
|
||||
* Append additional output.
|
||||
@ -45,7 +45,7 @@ interface ViewInterface {
|
||||
* @param string $string
|
||||
* @return ViewInterface
|
||||
*/
|
||||
public function appendOutput($string);
|
||||
public function appendOutput(string $string): ViewInterface;
|
||||
|
||||
/**
|
||||
* Get the current output as a string. Does not
|
||||
@ -53,7 +53,7 @@ interface ViewInterface {
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getOutput();
|
||||
public function getOutput(): string;
|
||||
|
||||
/**
|
||||
* Send output to client. As it renders the view,
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
namespace Aviat\Ion\Tests\Di;
|
||||
|
||||
use Aviat\Ion\Di\Container;
|
||||
use Aviat\Ion\Di\{Container, ContainerAware};
|
||||
use Aviat\Ion\Di\Exception\ContainerException;
|
||||
use Aviat\Ion\Tests\Ion_TestCase;
|
||||
use Monolog\Logger;
|
||||
@ -32,12 +32,11 @@ class FooTest {
|
||||
}
|
||||
|
||||
class FooTest2 {
|
||||
use \Aviat\Ion\Di\ContainerAware;
|
||||
use ContainerAware;
|
||||
}
|
||||
|
||||
class ContainerTest extends Ion_TestCase {
|
||||
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
$this->container = new Container();
|
||||
@ -85,15 +84,9 @@ class ContainerTest extends Ion_TestCase {
|
||||
*/
|
||||
public function testGetNewWithException($id, $exception, $message)
|
||||
{
|
||||
try
|
||||
{
|
||||
$this->container->getNew($id);
|
||||
}
|
||||
catch(ContainerException $e)
|
||||
{
|
||||
$this->assertInstanceOf($exception, $e);
|
||||
$this->assertEquals($message, $e->getMessage());
|
||||
}
|
||||
$this->expectException($exception);
|
||||
$this->expectExceptionMessage($message);
|
||||
$this->container->getNew($id);
|
||||
}
|
||||
|
||||
public function dataSetInstanceWithException()
|
||||
|
@ -102,7 +102,7 @@ class AbstractTransformerTest extends Ion_TestCase {
|
||||
*/
|
||||
public function testTransformCollection($original, $expected)
|
||||
{
|
||||
$actual = $this->transformer->transform_collection($original);
|
||||
$actual = $this->transformer->transformCollection($original);
|
||||
$this->assertEquals($expected, $actual);
|
||||
}
|
||||
}
|
@ -124,8 +124,8 @@ class ArrayTypeTest extends Ion_TestCase {
|
||||
]
|
||||
];
|
||||
$obj = $this->arr($arr);
|
||||
$this->assertEquals('foobar', $obj->get_deep_key(['baz', 'bar']));
|
||||
$this->assertNull($obj->get_deep_key(['foo', 'bar', 'baz']));
|
||||
$this->assertEquals('foobar', $obj->getDeepKey(['baz', 'bar']));
|
||||
$this->assertNull($obj->getDeepKey(['foo', 'bar', 'baz']));
|
||||
}
|
||||
|
||||
public function testMap()
|
||||
@ -165,8 +165,8 @@ class ArrayTypeTest extends Ion_TestCase {
|
||||
'a' => 'b',
|
||||
'z' => 'y'
|
||||
]);
|
||||
$this->assertTrue($obj->has_key('a'));
|
||||
$this->assertFalse($obj->has_key('b'));
|
||||
$this->assertTrue($obj->hasKey('a'));
|
||||
$this->assertFalse($obj->hasKey('b'));
|
||||
}
|
||||
|
||||
public function testHas()
|
||||
|
@ -34,7 +34,7 @@ class HtmlViewTest extends HttpViewTest {
|
||||
{
|
||||
$path = _dir(self::TEST_VIEW_DIR, 'test_view.php');
|
||||
$expected = '<tag>foo</tag>';
|
||||
$actual = $this->view->render_template($path, [
|
||||
$actual = $this->view->renderTemplate($path, [
|
||||
'var' => 'foo'
|
||||
]);
|
||||
$this->assertEquals($expected, $actual);
|
||||
|
Loading…
Reference in New Issue
Block a user