【问题标题】:Add custom Eloquent ORM models to WHMCS version 6将自定义 Eloquent ORM 模型添加到 WHMCS 版本 6
【发布时间】:2015-12-01 12:54:28
【问题描述】:

WHMCS 版本 6 使用 Eloquent model

他们的using models documentation 明确说明了如何访问 WHMCS 数据库。

我遇到的问题是我想访问自己的模型。我有多个模型,一些直接访问 WHMCS,另一些访问完全独立的数据库。

要使用他们的模型,您可以这样做: ... use WHMCS\User\Client; ...

我只是尝试这样做:

... use WHMCS\User\Client; use Radius\User\Logon; ...

我将模型添加到 $root_folder/includes/classes/Radius/User/Logon.php,模仿 WHMCS 的文件夹结构。

但是,我收到错误 Fatal error: Class 'Radius\User\Logon' not found in /var/www/vhosts/snowball.co.za/wh6.snowball.co.za/modules/servers/radius/radius.php on line 543

我完全怀疑我必须更新 Composer 才能识别我自己的模型,但我不确定。我所做的需要与 WHMCS 完全集成,并且不能破坏任何东西。

有人有什么建议吗?

【问题讨论】:

  • 您可能需要更新您的自动装载机。
  • 非常感谢您的回复。你指的是哪个自动加载器?我数了autoload_classmap.phpautoload_files.phpautoload_namespaces.phpautoload_psr4.phpautoload_real.phpClassLoader.phpautoload.php。我是否还必须进行某种作曲家更新?
  • composer dump-autoload 重建那些
  • 嗨@BenSwinburne,谢谢,你简单的回答让我走得更远。看来我有很多事情要做。我按照本教程knpuniversity.com/screencast/question-answer-day/… 设置了一个基本的 Github 存储库。我注意到 WHMCS 根目录中没有 composer.json 文件,只有供应商文件夹中的 whmcs.composer.lock 文件。我将此文件复制到根目录并将其重命名为 composer.json。我还没有对 composer.json 进行添加,只是通过运行 composer update 进行测试。然后它会删除大部分现有文件!我有一些关于composer.json,composer.lock如何交互的阅读。
  • 嗨@user2182349,请回答这个问题,以便我可以奖励赏金。事实证明,捷径是将必要的文件添加到供应商文件夹,然后只需更新autoload_psr4.php。我复制了在 autoload_ps4.php 中为 WHMCS 完成的操作,最终得到:'Snowball\\' => array($vendorDir . '/snowball'), 我意识到更新 Composer 的技术正确方法,但我怀疑 WHMCS 安装是极简的,所以我现在非常喜欢这种手动方法。尽管回想起来我没有正确回应您的评论,但您引导我取得成果,而您是第一个。

标签: php laravel eloquent composer-php whmcs


【解决方案1】:

您可能需要更新自动加载器。

感谢您发布解决方案 - 其他人无疑会很感激。

【讨论】:

    猜你喜欢
    • 2015-05-16
    • 2015-09-23
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    相关资源
    最近更新 更多