diff options
author | Igor Wiedler <igor@wiedler.ch> | 2012-03-24 21:37:45 +0100 |
---|---|---|
committer | Igor Wiedler <igor@wiedler.ch> | 2012-03-24 21:37:45 +0100 |
commit | a44423baee5d0d5e0fd8899204a71e4a292dc6bf (patch) | |
tree | 4f9db1e6ac0aefb575896b91518fe55037414383 /phpBB/includes/startup.php | |
parent | ef85ef8ed6b92e9641a65b2d9a1b09062cdb7176 (diff) | |
download | forums-a44423baee5d0d5e0fd8899204a71e4a292dc6bf.tar forums-a44423baee5d0d5e0fd8899204a71e4a292dc6bf.tar.gz forums-a44423baee5d0d5e0fd8899204a71e4a292dc6bf.tar.bz2 forums-a44423baee5d0d5e0fd8899204a71e4a292dc6bf.tar.xz forums-a44423baee5d0d5e0fd8899204a71e4a292dc6bf.zip |
[feature/event-dispatcher] Change composer autoloading options
Check if composer's generated autoloader is present, and if not give an error.
PHPBB3-9550
Diffstat (limited to 'phpBB/includes/startup.php')
-rw-r--r-- | phpBB/includes/startup.php | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/phpBB/includes/startup.php b/phpBB/includes/startup.php index 9c4e1374ba..45eaff6fc7 100644 --- a/phpBB/includes/startup.php +++ b/phpBB/includes/startup.php @@ -149,22 +149,32 @@ if (function_exists('date_default_timezone_set') && function_exists('date_defaul // Autoloading of dependencies. // Three options are supported: -// 1. Specify PHPBB_AUTOLOAD=/path/to/autoload.php in the environment. -// This is useful for running CLI scripts and tests. +// 1. If dependencies are installed with Composer, Composer will create a +// vendor/.composer/autoload.php. If this file exists it will be +// automatically used by phpBB. This is the default mode that phpBB +// will use when shipped. +// 2. To disable composer autoloading, PHPBB_NO_AUTOLOAD can be specified. +// Additionally specify PHPBB_AUTOLOAD=/path/to/autoload.php in the +// environment. This is useful for running CLI scripts and tests. // /path/to/autoload.php should define and register class loaders // for all of phpBB's dependencies. -// 2. If dependencies are installed with Composer, Composer will create a -// vendor/.composer/autoload.php. If this file exists it will be -// automatically used by phpBB. -// 3. Failing that phpBB assumes that autoloading has been set up in -// some other way. This might be useful in cases when phpBB is integrated -// into a larger program. -if (getenv('PHPBB_AUTOLOAD')) +// 3. You can also set PHPBB_NO_AUTOLOAD without setting PHPBB_AUTOLOAD. +// In this case autoloading needs to be defined before running any phpBB +// script. This might be useful in cases when phpBB is integrated into a +// larger program. +if (getenv('PHPBB_NO_AUTOLOAD')) { - require(getenv('PHPBB_AUTOLOAD')); + if (getenv('PHPBB_AUTOLOAD')) + { + require(getenv('PHPBB_AUTOLOAD')); + } } -else if (file_exists($phpbb_root_path . 'vendor/.composer/autoload.php')) +else { + if (!file_exists($phpbb_root_path . 'vendor/.composer/autoload.php')) + { + trigger_error('You have not set up composer dependencies. See http://getcomposer.org/.', E_USER_ERROR); + } require($phpbb_root_path . 'vendor/.composer/autoload.php'); } |