我有一个路由定义如下
Route::get("dashboard","DashBoardController@getIndex");
它在 unix (mac OSX 10.9) 系统中工作,但在 Ubuntu 服务器 13.04 中部署时它不起作用。Laravel抛出控制器方法未找到异常。
当我将破折号Board控制器名称更改为破折号board控制器并路由到以下代码时
Route::get("dashboard","DashboardController@getIndex");
它适用于 Ubuntu 和 unix。这到底是怎么回事?我是否缺少任何命名约定。为什么小写字母"b"有效,而大写字母"B"无效?
我在两台机器上使用阿帕奇服务器。
HFS+(Mac文件系统)通常配置为不区分大小写,但保留大小写。但大多数 Linux 发行版都区分大小写。因此,请查看您的文件名。
此外,这些是您在PHP中需要注意的情况:
区分大小写(用户定义和 PHP 定义)
- 变量
- 常数
- 数组键
- 类属性
- 类常量
不区分大小写(用户定义和 PHP 定义)
- 功能
- 类构造函数
- 类方法
- 关键字和构造(if,else,null,foreach,echo等)