在Drupal 8上包括PHP库



我有一个类,我希望能够在CMS上使用它,而不是根据任何模块,因为我想通过 git git 不仅在 drupal 项目中使用它:

<?php
namespace MyPackage;
class MyClass {
    public static function myFunction($message) {
        file_put_contents('./file.log', $message, FILE_APPEND);
    }
}

班级生活在Drupal网站的图书馆/文件夹中,其路径是:/libraries/MyPackage/MyClass.php然后我尝试在某个地方使用它,例如

MyPackageMyClass::myFunction("hey from myfunction!");

,但不能上课:

Error: Class 'MyPackageMyClass' not found in ...

还尝试了其他软件包路径约定,将课程放在

/libraries/mypackage/src/MyPackage/MyClass.php

没有运气。

我应该放在哪里?路径有问题吗?命名惯例有问题吗?我几乎尝试了一切,除了正确的方式外。

您应该尝试

use MyPackageMyClassMyClass::myFunction("Hey from my function");

mypackage myclass是您的名称空间和mypackage myclass myclass是您的完整类参考。

似乎是在Drupal 8上执行此操作的唯一方法是通过Composer Dependency Manager,它由以下步骤组成:

  1. 用作曲家创建图书馆
  2. 编译并将其上传到Packagist
  3. 在您的Drupal实例上使用其他依赖项

最新更新