Php 当类无法启动时,是否可以返回null而不是对象?
是否可以设计一个类构造函数来销毁对象,或者在对象无法启动时将其设置为null。例如,在下面的代码中-如果在数据库中找不到用户,那么将对象设置为Null可能会很有用。。。还是使用类成员标志$found B更好Php 当类无法启动时,是否可以返回null而不是对象?,php,Php,是否可以设计一个类构造函数来销毁对象,或者在对象无法启动时将其设置为null。例如,在下面的代码中-如果在数据库中找不到用户,那么将对象设置为Null可能会很有用。。。还是使用类成员标志$found B更好 您可以使用工厂模式或类似的模式 <?php class UserFactory { static function createUser($username) { if($username == 'something') { retur
您可以使用工厂模式或类似的模式
<?php
class UserFactory {
static function createUser($username) {
if($username == 'something') {
return new User();
} else {
return null;
}
}
}
class User {}
$user1 = UserFactory::createUser('something');
$user2 = UserFactory::createUser('somethingElse');
var_dump($user1,$user2);
您可以使用工厂模式或类似的模式
<?php
class UserFactory {
static function createUser($username) {
if($username == 'something') {
return new User();
} else {
return null;
}
}
}
class User {}
$user1 = UserFactory::createUser('something');
$user2 = UserFactory::createUser('somethingElse');
var_dump($user1,$user2);
不可能直接从_构造方法中返回null,但是您可以编写一个工厂,或者在失败时返回null,如上面的Felippe所示。但一般来说,返回可为null的值是一种危险的模式:在某个时刻,您可能会忘记检查null。您可能会喜欢将作为一种替代方法。不可能直接从_构造方法中返回null,但是您可以编写一个工厂,或者在失败时返回null,如Felippe上面所示。但一般来说,返回可为null的值是一种危险的模式:在某个时刻,您可能会忘记检查null。您可能会喜欢另一种选择
object(User)#1 (0) {}
NULL