【问题标题】:How to Use PHP Libraries and Create autoload Like Drupal如何使用 PHP 库并像 Drupal 一样创建自动加载
【发布时间】:2018-04-16 18:46:51
【问题描述】:

如何使用 Drupal 等所需的库创建自己的供应商/自动加载 在作曲家目录(drupal)中有很多文件 autoload_psr4.php autoload_real.php 和...

【问题讨论】:

  • 作为编程的一般规则 - 不要做任何像drupal这样的事情
  • composer.phar 生成类映射和自动加载器。请参阅:getcomposer.org 至于创建自己的包/存储库,您可以使用 github.com 和/或 packagist.org 上传并列出您的库或使用所需的 VCS(svn、git 等)在本地托管您的存储库以包括在您的 composer.json 中用于其他项目。
  • Composer 之于 PHP 就像 NPM 和 Bower 之于 JavaScript。

标签: php composer-php spl-autoloader


【解决方案1】:

您正在寻找一个名为 composer 的依赖项管理器。 Composer 利用了 PHP 的 spl_autoload_register,该 API 允许您的脚本在找到丢失的类名时动态地包含文件。

例如:

function appAutoloader($className)
{
    $path = $_SERVER['DOCUMENT_ROOT'] . '/app/v2/class/';

    $file = $path.$className.'.php';
    if (file_exists($file)) require_once $file;
}

spl_autoload_register('appAutoloader');

// now I can call...
new Example();
// and file "/app/v2/class/Example.php" will be required automatically

Composer 是此类自动加载器的强大生成器。您可以通过 Composer 包含一个外部库,该库也可以包含其他库。使用一个简单的命令,Composer 将安装所需的每个依赖项,以便您只需加载“autoload.php”文件即可轻松使用该库。

作曲家的使用不是火箭科学,而是有一个学习曲线。最好的学习方法是找到一个可以通过 composer 安装的库,然后尝试将其安装到现有项目中。

【讨论】:

  • 我不想使用 Composer 我只想在我的项目中包含像 Guzzel 或其他像 Drupal 这样的库。并在每次我需要包含另一个库时生成自动加载器
猜你喜欢
  • 2021-12-09
  • 1970-01-01
  • 2020-04-30
  • 2018-06-17
  • 1970-01-01
  • 2021-07-07
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
相关资源
最近更新 更多