【问题标题】:Is case sensitivity dependent on config?区分大小写是否取决于配置?
【发布时间】:2011-12-12 12:18:10
【问题描述】:

我正在开发一个 php 框架,我刚刚意识到,区分大小写将是一个大问题。例如:http 标头不区分大小写,但 $_GET 中的 queryString 键区分大小写。

该行为配置/http 服务器等是否依赖于 queryString 键是否始终区分大小写?

顺便说一句。 SQL 表名和列键是敏感的还是不敏感的?

(我想访问 camelCase 中的每个属性... :-))

【问题讨论】:

  • 嗯,我认为这是一个奇怪/令人困惑的行为,PHP 将虚线样式 HTTP HEADERS 转换为 $_SERVER 中的下划线样式 ...

标签: php case-sensitive case-insensitive


【解决方案1】:

GET 参数键应始终以小写形式提供。

如果平台的文件系统区分大小写,则 SQL 表名区分大小写。

Info on MySQL's case.

【讨论】:

  • 为什么说GET参数键应该总是小写?
  • @JaredFarrish 因为它比混合大小写的 GET 参数更容易混淆 IMO。这可能是个人风格的事情。
  • 大多数开发人员在 GET 中使用下划线或虚线样式命名,但我想知道为什么?你也可以使用 camelCase...嗯,哪个平台的文件系统不区分大小写?
  • > 嗯,哪个平台的文件系统不区分大小写?呵呵 - 一个永远不应该用作 IMO 网络服务器的服务器(Windows,如果这是一个严肃的问题;))
【解决方案2】:

我想这就是你要找的东西

http://php.net/manual/en/language.variables.basics.php

【讨论】:

    【解决方案3】:

    我发现 HTTP 消息区分大小写有很大的混乱。

    Http 标头名称不区分大小写,但 http 标头值有时区分大小写(例如:http 日期),有时不区分大小写(例如:mime 类型)。

    Uri 部分也混杂在一起: 不区分大小写:方案、主机 区分大小写:路径、查询字符串、片段

    所以 $_GET 键总是区分大小写的。

    @alex:我会接受你的回答,因为知识:“SQL 区分大小写取决于平台”非常有用。所以我们必须始终处理 SQL 表,就好像它们的名称不区分大小写一样。请编辑您的答案并删除“应始终以小写形式提供 GET 参数键”。部分。

    【讨论】:

      猜你喜欢
      • 2015-08-24
      • 2021-09-21
      • 2020-11-06
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2013-03-16
      • 2012-08-07
      • 1970-01-01
      相关资源
      最近更新 更多