Laravel 5.X - 'ErrorException',消息'使用未定义的常量SUCCESS

时间:2017-01-11 18:16:15

标签: php laravel

我正在开发一个laravel 5.X应用程序,我在一个文件Responses.php中将目录'Helpers'下的变量SUCCESS定义如下

if (!defined("SUCCESS")) define("SUCCESS", 111);

我正在尝试传递以下代码段中的SUCCESS

    class UsersController extends Controller {

        /**
         * Display a listing of the resource.
         *
         * @return Response
         */
        public function index() {


               $this->manageresponse(SUCCESS, X_WITH_WRONGCARD);

            //
        }
}

代码拒绝执行

  

异常'ErrorException',消息'使用未定义的常量   成功 - 在C:\ Users \ J ...中假设'SUCCESS''

请告诉我如何在我的控制器方法中访问SUCCESS。

由于

2 个答案:

答案 0 :(得分:1)

如果要在特定名称空间中定义常量,则需要通过该名称空间访问它。即使常量未在命名空间中定义,如果您要从命名空间中访问它,则需要使用全局\或在顶部放置use语句您的Controller文件。

因此,如果它是全局的,您可以在控制器中执行此操作:

use Success;

或者从文件中的任何位置:

$this->manageresponse(\SUCCESS, X_WITH_WRONGCARD);

或者如果它不是全球性的,你可以这样做......

use My\Namespace\Success;

答案 1 :(得分:1)

据我所知,Laravel没有Helpers目录,其中所有文件都是自动加载的。

如果这是你唯一做的事情,你可以在app/Http/Kernal.phpapp/Providers/RouteServiceProvider.php

中定义它

要“正确”执行此操作,您需要创建自己的服务提供商:https://laravel.com/docs/5.3/providers