1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-04 22:58:10 +02:00

[ticket/12775] Update phpBB/install/index.php

PHPBB3-12775
This commit is contained in:
Tristan Darricau 2014-06-27 21:27:55 +02:00
parent e7804ecce4
commit ef1346c931
3 changed files with 45 additions and 7 deletions

View File

@ -39,9 +39,6 @@ services:
cache.driver:
class: %cache.driver.class%
cache.driver.install:
class: phpbb\cache\driver\file
class_loader:
class: phpbb\class_loader
arguments:

View File

@ -120,7 +120,29 @@ $phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/"
$phpbb_class_loader_ext->register();
// Set up container
$phpbb_container = phpbb_create_install_container($phpbb_root_path, $phpEx);
$phpbb_config_php_handler = new \phpbb\config_php($phpbb_root_path, $phpEx);
$phpbb_container_factory = new \phpbb\di\container_factory($phpbb_config_php_handler, $phpbb_root_path, $phpEx);
$phpbb_container_factory->set_use_extensions(false);
$phpbb_container_factory->set_dump_container(false);
$phpbb_container_factory->set_use_custom_pass(false);
$phpbb_container_factory->set_inject_config(false);
$phpbb_container_factory->set_compile_container(false);
$other_config_path = $phpbb_root_path . 'install/update/new/config/';
$config_path = file_exists($other_config_path . 'services.yml') ? $other_config_path : $phpbb_root_path . 'config/';
$phpbb_container_factory->set_config_path($config_path);
$phpbb_container_factory->set_custom_parameters(array(
'core.root_path' => $phpbb_root_path,
'core.adm_relative_path' => $phpbb_adm_relative_path,
'core.php_ext' => $phpEx,
'core.table_prefix' => '',
'cache.driver.class' => 'phpbb\cache\driver\file',
));
$phpbb_container = $phpbb_container_factory->get_container();
$phpbb_container->register('dbal.conn')->setSynthetic(true);
$phpbb_container->compile();
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));

View File

@ -14,7 +14,6 @@
namespace phpbb\di;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
class container_factory
@ -28,7 +27,7 @@ class container_factory
/**
* The container under construction
*
* @var ContainerInterface
* @var ContainerBuilder
*/
protected $container;
@ -86,6 +85,13 @@ class container_factory
*/
protected $dump_container = true;
/**
* Indicates if the container should be compiled automatically (default to true).
*
* @var bool
*/
protected $compile_container = true;
/**
* Custom parameters to inject into the container.
*
@ -159,7 +165,10 @@ class container_factory
$this->inject_custom_parameters();
$this->container->compile();
if ($this->compile_container)
{
$this->container->compile();
}
if ($this->dump_container && defined('DEBUG'))
{
@ -227,6 +236,16 @@ class container_factory
$this->dump_container = $dump_container;
}
/**
* Set if the container should be compiled automatically (default to true).
*
* @var bool $dump_container
*/
public function set_compile_container($compile_container)
{
$this->compile_container = $compile_container;
}
/**
* Set a custom path to find the configuration of the container
*