Skip to content

\Phalcon\Di add alias? #13042

@wydhit

Description

@wydhit
class MyDi extends \Phalcon\Di\FactoryDefault
{
    protected  $alias=[];
    /**
     * @return array
     */
    public function getAllAlias()
    {
            return $this->alias;
    }
    /**
     * @param string $aliasName
     * @return bool|mixed
     */
    public function getAlias($aliasName='')
    {
        if(isset($this->alias[$aliasName])){
            return $this->alias[$aliasName];
        }
        return $aliasName;
    }

    /**
     * @param string $alias
     * @param string $aliasName
     */
    public function setAlias($alias='',$aliasName='')
    {
        if(!empty($alias)){
            $this->alias[$alias] = $aliasName;
        }
    }
    public function get($name, $parameters = null)
    {
        parent::get($this->getAlias($name), $parameters);
    }
}
$di=new MyDi();
$di->setAlias('response',\Phalcon\Http\ResponseInterface::class);
$di->setShared(\Phalcon\Http\ResponseInterface::class,function (){
    new \Phalcon\Http\Response();
});
$response=$di->get('response');

Metadata

Metadata

Assignees

Labels

5.0The issues we want to solve in the 5.0 releasenew feature requestPlanned Feature or New Feature Request
No fields configured for Feature.

Projects

Status
Released

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions