0

我的路线定义如下

Route::get("dashboard","DashBoardController@getIndex");

它在 unix (mac OSX 10.9) 系统中工作,但在 Ubuntu 服务器 13.04 中部署时它不工作。Laravel 抛出控制器方法未找到异常。

当我将 Dash B oardController 名称更改为 Dash b oardController 并将 Route 更改为以下代码时

Route::get("dashboard","DashboardController@getIndex");

它适用于 Ubuntu 和 unix。这里到底发生了什么?我是否缺少任何命名约定。为什么小写字母“b”有效,而大写字母“B”无效?

我在两台机器上都使用 apache 服务器。

4

1 回答 1

1

HFS+(Mac 文件系统)通常配置为不区分大小写但保留大小写。但大多数 Linux 发行版都区分大小写。所以,看看你的文件名。

这些也是您在 PHP 中需要注意的情况:

区分大小写(用户定义和 PHP 定义)

  • 变量
  • 常数
  • 数组键
  • 类属性
  • 类常量

不区分大小写(用户定义和 PHP 定义)

  • 功能
  • 类构造函数
  • 类方法
  • 关键字和结构(if、else、null、foreach、echo 等)
于 2013-10-25T01:02:00.277 回答