简体   繁体   English

Laravel 4:包扩展控制器

[英]Laravel 4: Package Extending Controller

I am trying to package my extending controller into my package. 我正在尝试将扩展控制器包装到我的包装中。 So, I put all my controllers in 'controllers' under 'src' folder. 因此,我将所有控制器放在“ src”文件夹下的“ controllers”中。

MyController.php MyController.php

namespace MyVendor\MyPackage;
use \Illuminate\Routing\Controller;

class MyController extends Controller
{
    public function loginAction()
    {
    }
}

I tried to call it from route in package with MyVendor\\MyPackage\\MyController@loginAction and it end up with the message "Class MyVendor\\MyPackage\\MyController does not exist". 我试图使用MyVendor\\MyPackage\\MyController@loginAction在包中的路由中调用它,并最终显示消息“ Class MyVendor \\ MyPackage \\ MyController不存在”。

What did I missed or done wrong? 我错过或做错了什么? How to make it works? 如何使其运作?

Thank you. 谢谢。

Step 1: make sure it is being autoloaded via composer. 步骤1:确保通过Composer自动加载。 In composer.json (in your workbench/package): 在composer.json中(在您的工作台/程序包中):

"autoload": {

    // ...

    "classmap": [
        "src/controllers",
    ],

    // ...
},

Then run composer dump-autoload from the command line, but make sure you are in the package directory (eg workbench/name/package/)! 然后从命令行运行composer dump-autoload,但请确保您位于软件包目录中(例如,工作台/名称/软件包/)!

Step 2: add an alias in /app/config/app.php. 步骤2:在/app/config/app.php中添加一个别名。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM