for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the overtrue/wechat.
*
* (c) overtrue <[email protected]>
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
/**
* Trait PrefixedContainer.php.
* Part of Overtrue\WeChat.
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
* @author mingyoung <[email protected]>
* @copyright 2017
* @see https://github.com/overtrue
* @see http://overtrue.me
namespace EasyWeChat\Support\Traits;
use EasyWeChat\Support\Str;
use Pimple\Container;
* Trait PrefixedContainer.
trait PrefixedContainer
{
* Container.
* @var \Pimple\Container
protected $container;
* ContainerAccess constructor.
* @param \Pimple\Container $container
public function __construct(Container $container)
$this->container = $container;
}
* Gets a parameter or an object from pimple container.
* @param string $key The unique identifier for the parameter or object
* @return mixed The value of the parameter or an object
* @throws \InvalidArgumentException if the identifier is not defined
public function __get($key)
$className = (new \ReflectionClass($this))->getShortName();
$name = Str::snake($className).'.'.$key;
return $this->container->offsetGet($name);