我正在开发一个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。
由于
答案 0 :(得分:1)
如果要在特定名称空间中定义常量,则需要通过该名称空间访问它。即使常量未在命名空间中定义,如果您要从命名空间中访问它,则需要使用全局\
或在顶部放置use
语句您的Controller文件。
因此,如果它是全局的,您可以在控制器中执行此操作:
use Success;
或者从文件中的任何位置:
$this->manageresponse(\SUCCESS, X_WITH_WRONGCARD);
或者如果它不是全球性的,你可以这样做......
use My\Namespace\Success;
答案 1 :(得分:1)
据我所知,Laravel没有Helpers目录,其中所有文件都是自动加载的。
如果这是你唯一做的事情,你可以在app/Http/Kernal.php
或app/Providers/RouteServiceProvider.php
要“正确”执行此操作,您需要创建自己的服务提供商:https://laravel.com/docs/5.3/providers