首页 / PHP / php – 使用常量定义表和列名称
php – 使用常量定义表和列名称
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用常量定义表和列名称,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1888字,纯文字阅读大概需要3分钟。
内容图文
![php – 使用常量定义表和列名称](/upload/InfoBanner/zyjiaocheng/786/fa47a514310842789aefeea061c0518c.jpg)
使用常量定义所有表名和列名然后在查询字符串中使用它们是一种很好的编码风格吗?
我这样做,因为每当我在数据库中更改某些内容时,我只需更改常量而不是更改所有内容.
例如,这是我在单独文件中的数据库定义:
define("DB_TBL_USER", "user");
define("DB_USER__PK_USER_ID", "pk_user_id");
define("DB_USER__PASSWORD", "password");
define("DB_USER__EMAIL", "email");
define("DB_USER__FIRST_NAME", "first_name");
define("DB_USER__LAST_NAME", "last_name");
define("DB_USER__GENDER", "gender");
在我的数据库类中我构建了这样的查询(在register_user()方法中!):
$queries[]="INSERT INTO ".
constant('DB_TBL_USER'). " ( ".
constant('DB_USER__PASSWORD').",".
constant('DB_USER__EMAIL').",".
constant('DB_USER__FIRST_NAME').",".
constant('DB_USER__LAST_NAME').",".
constant('DB_USER__GENDER').") ".
"VALUES ("."
$password,
$email,
$first_name,
$last_name,
$gender
";
然后将其他查询放在queries []数组中并使用循环执行它们.
有没有更简单,更有效的方法呢?
解决方法:
实际上,通常不会重命名列.添加或删除它们更为常见,为此您的常量将无济于事.
列更改的主要原因是,当其含义发生更改时,例如,当您要存储首字母而不是名字时,可以将列first_name重命名为首字母.
但是,如果你有一个常量,你仍然需要重命名常量,否则你会有一个无意义和混乱的常量名称.
它可能仍然更容易,因为在代码中可以比first_name更容易找到DB_USER__FIRST_NAME(这可能会导致变量名称的误报等).
无论如何:如果你这样做,我会使用常量而不是名称DB_TBL_USER而不是常量(‘DB_TBL_USER’).如果您这样做,您的代码将更加精简,您可以从IDE中的代码完成功能中受益.
如果不这样做,并且在非常罕见的情况下需要重命名first_name,您仍然可以搜索整个代码并检查每个匹配是否需要更改.即使在非常大的项目中,这也是可以管理的.
或者,您可以考虑将表名添加为列名的前缀,因此将列命名为user_first_name而不是first_name.不是我会选择的路径,但它有时会完成(例如,MediaWiki使用此模式).
如果使用ORM和/或命令模式,则可以在少数几个小类中包装对表的访问,从而使更改列名变得微不足道.如果您有适当的IDE,则可以通过重构工具重命名映射到列的属性,否则应用上述相同的搜索/替换注释.
内容总结
以上是互联网集市为您收集整理的php – 使用常量定义表和列名称全部内容,希望文章能够帮你解决php – 使用常量定义表和列名称所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。