这是教程书中的代码。
class user {
// return if username is valid format
public static function validateUsername($username){
return preg_match('/^[A-Z0-9]{2,20}$/i', $username);
}
}
我想知道,静态的功能是什么?
这本书太糟糕我读过的书没解释:(
答案 0 :(得分:11)
最终的结果是你不需要创建一个类的实例来执行该函数(除此之外还有更多,但我会让手册覆盖这些部分):
在您的示例中,您可以将您的功能称为:
user::validateUsername("someUserName");
而不是必须创建一个实例然后调用该函数:
$user = new user();
$user->validateUsername("someUserName");
答案 1 :(得分:1)
你见过这个:http://php.net/manual/en/language.oop5.static.php
静态方法和变量是 想要分享时很有用 a。对象之间的信息 上课,或者想表达一些东西 那与班级本身有关, 没有任何特定的对象。
来源:http://bytes.com/topic/php/answers/495206-static-method-vs-non-static-method
答案 2 :(得分:0)
静态函数是属于类的函数,而不是对象实例。可以通过直接引用它来实现它们而不实例化 -
user::validateUsername(...);
或使用课堂内的self
关键字
self::validateUsername(...);
静态函数在某种程度上是全局函数。您应该谨慎使用这些,因为静态函数的依赖性更难以提取并使测试和重用更加困难。
阅读PHP手册中的更多内容 - the static keyword