Ajout du FR
Ajout du FR + correction du "functions.php"
This commit is contained in:
156
vendor/zendframework/zend-code/src/NameInformation.php
vendored
Normal file
156
vendor/zendframework/zend-code/src/NameInformation.php
vendored
Normal file
@@ -0,0 +1,156 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Code;
|
||||
|
||||
class NameInformation
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $namespace = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $uses = array();
|
||||
|
||||
/**
|
||||
* @param string $namespace
|
||||
* @param array $uses
|
||||
*/
|
||||
public function __construct($namespace = null, array $uses = array())
|
||||
{
|
||||
if ($namespace) {
|
||||
$this->setNamespace($namespace);
|
||||
}
|
||||
if ($uses) {
|
||||
$this->setUses($uses);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $namespace
|
||||
* @return NameInformation
|
||||
*/
|
||||
public function setNamespace($namespace)
|
||||
{
|
||||
$this->namespace = (string) $namespace;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getNamespace()
|
||||
{
|
||||
return $this->namespace;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function hasNamespace()
|
||||
{
|
||||
return ($this->namespace !== null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $uses
|
||||
* @return NameInformation
|
||||
*/
|
||||
public function setUses(array $uses)
|
||||
{
|
||||
$this->uses = array();
|
||||
$this->addUses($uses);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $uses
|
||||
* @return NameInformation
|
||||
*/
|
||||
public function addUses(array $uses)
|
||||
{
|
||||
foreach ($uses as $use => $as) {
|
||||
if (is_int($use)) {
|
||||
$this->addUse($as);
|
||||
} elseif (is_string($use)) {
|
||||
$this->addUse($use, $as);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array|string $use
|
||||
* @param string $as
|
||||
*/
|
||||
public function addUse($use, $as = null)
|
||||
{
|
||||
if (is_array($use) && array_key_exists('use', $use) && array_key_exists('as', $use)) {
|
||||
$uses = $use;
|
||||
$use = $uses['use'];
|
||||
$as = $uses['as'];
|
||||
}
|
||||
|
||||
$use = trim($use, '\\');
|
||||
if ($as === null) {
|
||||
$as = trim($use, '\\');
|
||||
$nsSeparatorPosition = strrpos($as, '\\');
|
||||
if ($nsSeparatorPosition !== false && $nsSeparatorPosition !== 0 && $nsSeparatorPosition != strlen($as)) {
|
||||
$as = substr($as, $nsSeparatorPosition + 1);
|
||||
}
|
||||
}
|
||||
|
||||
$this->uses[$use] = $as;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getUses()
|
||||
{
|
||||
return $this->uses;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return string
|
||||
*/
|
||||
public function resolveName($name)
|
||||
{
|
||||
if ($this->namespace && !$this->uses && strlen($name) > 0 && $name{0} != '\\') {
|
||||
return $this->namespace . '\\' . $name;
|
||||
}
|
||||
|
||||
if (!$this->uses || strlen($name) <= 0 || $name{0} == '\\') {
|
||||
return ltrim($name, '\\');
|
||||
}
|
||||
|
||||
if ($this->namespace || $this->uses) {
|
||||
$firstPart = $name;
|
||||
if (($firstPartEnd = strpos($firstPart, '\\')) !== false) {
|
||||
$firstPart = substr($firstPart, 0, $firstPartEnd);
|
||||
} else {
|
||||
$firstPartEnd = strlen($firstPart);
|
||||
}
|
||||
if (($fqns = array_search($firstPart, $this->uses)) !== false) {
|
||||
return substr_replace($name, $fqns, 0, $firstPartEnd);
|
||||
}
|
||||
if ($this->namespace) {
|
||||
return $this->namespace . '\\' . $name;
|
||||
}
|
||||
}
|
||||
|
||||
return $name;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user