【问题标题】:Unable to load magento class using Laravel 5无法使用 Laravel 5 加载 magento 类
【发布时间】:2017-11-27 18:09:05
【问题描述】:

我正在使用 Laravel 5 和 magento 1.9。 首先查看我的服务器的文件结构:

在主域下运行 Laravel 项目。 Magento 安装在 MagentoDir 中。 LaravelProjectDir 是 Laravel 项目目录。

/LaravelProjectDir/app/Http/Controllers/controller1.php我写道:

<?php
    //some code, namespacing ...etc
    require_once('/home/domain/public_html/magentoDir/app/Mage.php');
    class UserController extends Controller{
         //my functions
    }
?>

抛出此错误:

functions.php 第 95 行中的 FatalErrorException:无法重新声明 __()(之前在 /home/domain/public_html/LaravelProjectDir/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:850 中声明)

如果需要更多信息,请询问。

【问题讨论】:

    标签: php laravel magento namespaces


    【解决方案1】:

    这是因为app\code\core\Mage\Core\functions.php 中贴有相同的功能,即function __(),它是翻译功能,因此如果您不需要该功能,则可以将其注释掉。

    ma​​gento 中:app\code\core\Mage\Core\functions.php 注释掉下面的函数

    function __()
    {
        return Mage::app()->getTranslator()->translate(func_get_args());
    }
    

    【讨论】:

    • 我把它注释掉了。然后我运行$collection = Mage::getResourceModel('catalog/product_collection'); 抛出 include(App\Http\Controllers\Mage.php): failed to open stream: No such file or directory
    猜你喜欢
    • 2012-01-13
    • 2012-07-21
    • 1970-01-01
    • 2015-05-15
    • 2021-08-06
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    相关资源
    最近更新 更多