【发布时间】:2012-05-29 18:27:08
【问题描述】:
$object_cin = new CIO( );
$object_cin->invoke( $_POST[ 'model' ] );
class CIO
{
private function invoke( $model )
{
switch( $model )
{
case 'user_try':
$model = new MUserTry();
$this->send( $model->invoke( 1 ) );
break;
case 'user_new':
$model = new MUserNew( new IUniversals() , new IText(), new IMessage() );
$this->send( $model->invoke() );
break;
case 'user_exist':
$model = new MUserExist( new IUniversals() , new IText(), new IMessage() );
$this->send( $model->invoke() );
break;
case 'tweet':
$model = new MTweet( new IUniversals() , new IText(), new IMessage() );
$this->send( $model->invoke() );
break;
default:
echo "Incorrect Ajax Type provided";
}
}
private function send( $string )
{
echo "|P|" . $string;
}
}
【问题讨论】:
-
为什么不让你的案例成为一个类方法(当它不存在时有一个处理程序)?
-
处理程序不存在时是什么意思?
-
类似
if(!method_exists('calledmethod')){ header('Location:404.php');exit;} -
我最终摆脱了依赖注入模式和工厂模式......将这个类减少了一半......我还把文件调用拉到另一个类......我仍然没有'不明白你在说什么......你是说使用标题来进行类/对象调用吗?
标签: php model-view-controller library-design