Skip to content

Commit 1fcf0ca

Browse files
committed
MDL-35628 performance: Remove dirname() where possible.
dirname() is a slow function compared with __DIR__ and using '/../'. Moodle has a large number of legacy files that are included each time a page loads and is not able to use an autoloader as it is functional code. This allows those required includes to perform as best as possible in this situation.
1 parent 4ee8ef5 commit 1fcf0ca

File tree

352 files changed

+499
-499
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

352 files changed

+499
-499
lines changed

admin/cli/automated_backups.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
define('CLI_SCRIPT', true);
3030

31-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
31+
require(__DIR__.'/../../config.php');
3232
require_once($CFG->libdir.'/clilib.php'); // cli only functions
3333
require_once($CFG->libdir.'/cronlib.php');
3434

admin/cli/backup.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
define('CLI_SCRIPT', 1);
2727

28-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
28+
require(__DIR__.'/../../config.php');
2929
require_once($CFG->libdir.'/clilib.php');
3030
require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php');
3131

admin/cli/cron.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
define('CLI_SCRIPT', true);
3232

33-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
33+
require(__DIR__.'/../../config.php');
3434
require_once($CFG->libdir.'/clilib.php'); // cli only functions
3535
require_once($CFG->libdir.'/cronlib.php');
3636

admin/cli/install.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090

9191

9292
// distro specific customisation
93-
$distrolibfile = dirname(dirname(dirname(__FILE__))).'/install/distrolib.php';
93+
$distrolibfile = __DIR__.'/../../install/distrolib.php';
9494
$distro = null;
9595
if (file_exists($distrolibfile)) {
9696
require_once($distrolibfile);
@@ -100,7 +100,7 @@
100100
}
101101

102102
// Nothing to do if config.php exists
103-
$configfile = dirname(dirname(dirname(__FILE__))).'/config.php';
103+
$configfile = __DIR__.'/../../config.php';
104104
if (file_exists($configfile)) {
105105
require($configfile);
106106
require_once($CFG->libdir.'/clilib.php');
@@ -159,7 +159,7 @@
159159
global $CFG;
160160
$CFG = new stdClass();
161161
$CFG->lang = 'en';
162-
$CFG->dirroot = dirname(dirname(dirname(__FILE__)));
162+
$CFG->dirroot = dirname(dirname(__DIR__));
163163
$CFG->libdir = "$CFG->dirroot/lib";
164164
$CFG->wwwroot = "http://localhost";
165165
$CFG->httpswwwroot = $CFG->wwwroot;
@@ -172,7 +172,7 @@
172172
$CFG->debugdisplay = true;
173173
$CFG->debugdeveloper = true;
174174

175-
$parts = explode('/', str_replace('\\', '/', dirname(dirname(__FILE__))));
175+
$parts = explode('/', str_replace('\\', '/', dirname(__DIR__)));
176176
$CFG->admin = array_pop($parts);
177177

178178
//point pear include path to moodles lib/pear so that includes and requires will search there for files before anywhere else
@@ -244,7 +244,7 @@
244244
'chmod' => isset($distro->directorypermissions) ? sprintf('%04o',$distro->directorypermissions) : '2777', // let distros set dir permissions
245245
'lang' => $CFG->lang,
246246
'wwwroot' => '',
247-
'dataroot' => empty($distro->dataroot) ? str_replace('\\', '/', dirname(dirname(dirname(dirname(__FILE__)))).'/moodledata'): $distro->dataroot, // initialised later after including libs or by distro
247+
'dataroot' => empty($distro->dataroot) ? str_replace('\\', '/', dirname(dirname(dirname(__DIR__))).'/moodledata'): $distro->dataroot, // initialised later after including libs or by distro
248248
'dbtype' => empty($distro->dbtype) ? $defaultdb : $distro->dbtype, // let distro skip dbtype selection
249249
'dbhost' => empty($distro->dbhost) ? 'localhost' : $distro->dbhost, // let distros set dbhost
250250
'dbname' => 'moodle',

admin/cli/install_database.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
}
7373

7474
// Nothing to do if config.php does not exist
75-
$configfile = dirname(dirname(dirname(__FILE__))).'/config.php';
75+
$configfile = __DIR__.'/../../config.php';
7676
if (!file_exists($configfile)) {
7777
fwrite(STDERR, 'config.php does not exist, can not continue'); // do not localize
7878
fwrite(STDERR, "\n");

admin/cli/mysql_collation.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
define('CLI_SCRIPT', true);
2626

27-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
27+
require(__DIR__.'/../../config.php');
2828
require_once($CFG->libdir.'/clilib.php'); // cli only functions
2929

3030
if ($DB->get_dbfamily() !== 'mysql') {

admin/cli/mysql_compressed_rows.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
define('CLI_SCRIPT', true);
2727

28-
require(dirname(__FILE__).'/../../config.php');
28+
require(__DIR__.'/../../config.php');
2929
require_once($CFG->libdir . '/clilib.php');
3030

3131
if ($DB->get_dbfamily() !== 'mysql') {

admin/cli/mysql_engine.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
define('CLI_SCRIPT', true);
2828

29-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
29+
require(__DIR__.'/../../config.php');
3030
require_once($CFG->libdir.'/clilib.php'); // cli only functions
3131

3232
if ($DB->get_dbfamily() !== 'mysql') {

admin/cli/purge_caches.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
define('CLI_SCRIPT', true);
2525

26-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
26+
require(__DIR__.'/../../config.php');
2727
require_once($CFG->libdir.'/clilib.php');
2828

2929
list($options, $unrecognized) = cli_get_params(array('help' => false), array('h' => 'help'));

admin/cli/reset_password.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
define('CLI_SCRIPT', true);
2828

29-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
29+
require(__DIR__.'/../../config.php');
3030
require_once($CFG->libdir.'/clilib.php'); // cli only functions
3131

3232

0 commit comments

Comments
 (0)