public function makeTweet( $DatabaseObject, $TextObject, $MessageObject)
{
if( $DatabaseObject == NULL )
{
$DatabaseObject = new Database();
$TextObject = new Text();
$MessageObject = new Message();
}
$TweetObject = new ControlTweet();
$TweetObject->setObjects($DatabaseObject, $TextObject, $MessageObject);
return $TweetObject;
}
user656925
问问题
200 次
3 回答
1
您不能在 PHP 中重载函数。请参阅此页面以供参考:http ://www.daniweb.com/web-development/php/threads/19978/overloading-php-functions
于 2012-04-05T20:17:07.513 回答
1
您可以在函数声明中添加可选参数,例如:
public function makeTweet( $DatabaseObject, $TextObject, $MessageObject = null)
现在你可以这样做:
$obj->makeTweet($db, $text, $messageObj);
或者
$obj->makeTweet($db, $text);
这是您可以在 PHP 中获得的最接近的值。
于 2012-04-05T20:17:15.777 回答
-1
PHP 函数可以“重载”。在函数中使用func_get_args
和设置任何变量。
您还可以将关联数组作为单个变量提交。然后你可以在函数内部使用 extract 来制作友好的变量。
$vars = array('key1'=>'value1','key2'=>'value3');
function function_name($v){
extract($v);
//do something
}
要使函数表现不同,您需要确定变量是什么。通过这种方式,您可以反映重载的想法。
于 2012-04-05T20:21:31.313 回答