繁体   English   中英

是否有有用的PHP命名约定?

[英]Are there helpful PHP naming conventions?

我来自Java / Objective-C到PHP,发现它很糟糕 我的意思是,PHP很好,真的。 但是当你看到一堆变量时,你不知道:这是一个数字吗? 那是一个字符串吗? 或者甚至是一个花哨的对象,可以在调用方法时执行操作?

所以我想知道变量是否有有用的可重用命名约定来帮助确定某些东西是否是某个对象,或者某些东西只是一个无聊的变量。 我会说如果某个东西是一个对象,即一个类的实例,那么第一个字符必须是BIG。 但这只是猜测。 希望从PHP专业人员那里阅读一些技巧:-)

与其他语言一样,PHP中没有单一的编码标准。 除了其他(请参阅注释)之外,您还可以查看Zend编码标准 ,因为它们与PHP核心开发团队非常接近(并且部分相同)。

什么是阻止您使用您已经熟悉的约定? 很可能PHP之前没有任何独特的东西,你以前没有见过。

我通常坚持这个简单的规则

有意义的Camel Case变量名(前面带有类型前缀)ex:intNbDaysLeft对整数有用

我使用Zend Eclipse,因此我会像这样描述我的变量,以确保它们被智能化。 然后,我更少担心,“这是什么?”

/**
 * @var Zend_Form_Element
 */
protected $_member;

要么

/**
 * @param Zend_Form_Element $input
 */
function do_it( $input )

要么

$my_var = some_function(); /* @var $my_var Zend_Form_Element */

您应该很快发现在PHP中几乎没有类型提示,其原因很明显,在这种动态语言类型中可能会发生变化,因此名称不是很重要。

将PHPDoc与Eclipse或NetBeans一起使用有帮助,但是你不能依赖它,如果你想确定你的变量是特定类型的,你必须检查它(is_array(),instanceof,ect。)。

此外,PHP为您做了很多,它将代表您转换类型,它将根据类型采取不同的行动。

PHP主要使用字符串,因此大多数变量都属于该类型。 应用程序可以有很多类型,但单个方法不应该使用太多。 如果您发现自己使用了很多对象而无法轻松跟踪其实例名称,那么这是一些设计问题,而不是命名约定问题。

如果你想确定你没有错误地使用某些变量,请务必进行单元测试。 PHP中的标准是phpunit

我最喜欢的PHP命名约定是“PHP”总是被称为“巨大的cr-我们不会用bargepole接触”的约定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM