📜  <?php * vim: set expandtab sw=4 ts=4 sts=4: * ** * Main loader script * * @package PhpMyAdmin * declare(strict_types=1); - PHP Code Example(1)

📅  最后修改于: 2023-12-03 15:29:13.778000             🧑  作者: Mango

介绍PhpMyAdmin的主要加载脚本

该脚本作为主要加载脚本,包含了相应包的声明、代码规则设置等。下面是该脚本的完整代码:

<?php
/**
 * vim: set expandtab sw=4 ts=4 sts=4:
 *
 * Main loader script
 *
 * @package PhpMyAdmin
 */

declare(strict_types=1);

// Load vendor library
require_once __DIR__ . '/libraries/vendor/autoload.php';

// Defines
if (! defined('PHPMYADMIN')) {
    define('PHPMYADMIN', true);
}

// Load required files
require_once __DIR__ . '/libraries/common.inc.php';
require_once __DIR__ . '/libraries/Error.class.php';
require_once __DIR__ . '/libraries/plugin_interface.lib.php';
require_once __DIR__ . '/libraries/functions.inc.php';

// Register autoloader
require_once __DIR__ . '/libraries/core/ClassLoader.php';
$classLoader = new PhpMyAdmin\Core\ClassLoader();
$classLoader->register();

// Start session
if (! defined('TESTSUITE')) {
    session_start();
}

// Check if running unit tests
if (defined('TESTSUITE')) {
    return;
}

// Launch the application
require_once __DIR__ . '/libraries/core.lib.php';
require_once __DIR__ . '/libraries/sql.lib.php';
require_once __DIR__ . '/libraries/server_privileges.lib.php';

$application = new PhpMyAdmin\Core();
$application->run();

可以看出,该脚本的主要功能是:

  • 引入vendor库,即vendor/autoload.php文件。
  • 声明PHPMYADMIN常量,赋值为true
  • 引入其他必要的文件,包括common.inc.php、Error.class.php、plugin_interface.lib.php、functions.inc.php等。
  • 注册自动加载器,即new一个PhpMyAdmin\Core\ClassLoader类,并调用其register方法。
  • 开启会话(可能根据运行情况不同,需要额外判断)。
  • 检查是否运行单元测试(如果是,则直接结束)。
  • 加载application,并启动内核和运行。

总的来说,这个主要加载脚本就是一个必要的在运行PhpMyAdmin中的各种功能之前,先执行的操作,确保其他功能的正常运行所需要的环境、类以及方法已经准备好。