我有一个类,我希望能够在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,它由以下步骤组成:
- 用作曲家创建图书馆
- 编译并将其上传到Packagist
- 在您的Drupal实例上使用其他依赖项