这是来自教程书的代码。
class user {
// return if username is valid format
public static function validateUsername($username){
return preg_match('/^[A-Z0-9]{2,20}$/i', $username);
}
}
我想知道,static的作用是什么?
很遗憾,我读的那本书没有解释它 :(
这是来自教程书的代码。
class user {
// return if username is valid format
public static function validateUsername($username){
return preg_match('/^[A-Z0-9]{2,20}$/i', $username);
}
}
我想知道,static的作用是什么?
很遗憾,我读的那本书没有解释它 :(
user::validateUsername("someUserName");
不必创建一个实例,然后再调用函数:
$user = new user();
$user->validateUsername("someUserName");
你看过这个吗:http://php.net/manual/zh/language.oop5.static.php
静态方法和变量在以下情况下非常有用:当你想在一个类的多个对象之间共享信息,或者想表示与类本身相关而不是特定对象的内容时。
来源:http://bytes.com/topic/php/answers/495206-static-method-vs-non-static-method
静态函数是属于类而不是对象实例的函数。它们可以直接引用而无需实例化类来调用。
user::validateUsername(...);
或者在类内部使用self
关键字
self::validateUsername(...);
静态函数在某种程度上是全局函数。您应该谨慎使用这些函数,因为对静态函数的依赖性更难以提取,从而使测试和重用变得更加困难。
在PHP手册中阅读更多信息 - static关键字