简单的问题:您的PHP类(例如您的库类)的前缀是否与您的公司名称一致?
示例:Zend使用“Zend_”为所有内容添加前缀,但这是正常的,因为这是一个框架(因此他们希望避免冲突)。 我应该为我公司的图书馆课程做同样的事吗?我会遇到冲突吗?
我认为没有前缀(较短的名字)会更容易使用,但这是一个有前缀的好习惯吗?
答案 0 :(得分:12)
PHP namespaces 。你应该使用它们而不是用名字作为前缀。
至少,当他们不必继续输入MyFrameworkName...
以开始使用您的某个课程时,您的开发人员会感谢您。
答案 1 :(得分:3)
由于多种原因,我总是在我的课程前加上
说真的,最好完全避免使用显式类名。摆脱静态并使用依赖注入而不是new
- 你可以减少类命名的痛苦。
答案 2 :(得分:1)
是的,我知道。我无法切换到命名空间b / c我的大多数客户端都在运行PHP 5.3。如果我保证避免命名冲突,我不介意再输入一点。特别是当我在现有的库上使用我自己的自定义库时。
答案 3 :(得分:0)
没有。虽然我确实考虑在我的CMS中使用MCB为每个类添加前缀,即
class MCB_Admin
{
// class contents...
}
$admin = new MCB_Admin;
然而,我很快就决定反对这一点,现在只使用标准的类名。
答案 4 :(得分:0)
我在我的类名前面加上它所在的文件夹名称是
<?php
// filename would be "ClassName.php" in directory "directory"
class directory_ClassName{
}
这样可以非常轻松地使用__autoLoad
function __autoload( $class_name ){
$file = explode( "_", $class_name );
$file = 'app/' . implode( '/', $file ) . ".php";
require_once( $file );
}
意味着您永远不必加载您的课程,这一切都是自动完成的