// TODO use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
+/**
+ * Class Container
+ * @package Civi\Core
+ */
class Container {
const SELF = 'civi_container_factory';
private static $singleton;
/**
+ * @param bool $reset whether to forcibly rebuild the entire container
* @return \Symfony\Component\DependencyInjection\TaggedContainerInterface
*/
- public static function singleton() {
- if (self::$singleton === NULL) {
+ public static function singleton($reset = FALSE) {
+ if ($reset || self::$singleton === NULL) {
$c = new self();
self::$singleton = $c->createContainer();
}
/**
* @var ContainerBuilder
+ * @return \Symfony\Component\DependencyInjection\ContainerBuilder
*/
public function createContainer() {
$civicrm_base_path = dirname(dirname(__DIR__));
/**
* @param \Symfony\Component\EventDispatcher\EventDispatcher $dispatcher
+ * @param $magicFunctionProvider
+ *
* @return \Civi\API\Kernel
*/
public function createApiKernel($dispatcher, $magicFunctionProvider) {