Php 张贴在真正有用的地方。这里的简单陈述是:“控制器接收用户输入,必要时更新模型,并通知视图模型已更改。”这让事情变得更清楚。请记住,关于通知视图模型是否已更改的最后一部分在web上是不相关的,因为视图无论如何都必须刷新,因此,它需要请求模型的当前状态。否决票

Php 张贴在真正有用的地方。这里的简单陈述是:“控制器接收用户输入,必要时更新模型,并通知视图模型已更改。”这让事情变得更清楚。请记住,关于通知视图模型是否已更改的最后一部分在web上是不相关的,因为视图无论如何都必须刷新,因此,它需要请求模型的当前状态。否决票,php,model-view-controller,model,Php,Model View Controller,Model,张贴在真正有用的地方。这里的简单陈述是:“控制器接收用户输入,必要时更新模型,并通知视图模型已更改。”这让事情变得更清楚。请记住,关于通知视图模型是否已更改的最后一部分在web上是不相关的,因为视图无论如何都必须刷新,因此,它需要请求模型的当前状态。否决票应附有解释,以便海报可以删除或修改以变得更有用,而不是将其留在这里,无法为其他人改进。我没有否决投票,但这显然是因为您实现了接近于MVP的东西,并且打破了SRP@DaveJust-您所说的违反SRP规则是什么意思? class Page_Con


张贴在真正有用的地方。这里的简单陈述是:“控制器接收用户输入,必要时更新模型,并通知视图模型已更改。”这让事情变得更清楚。请记住,关于通知视图模型是否已更改的最后一部分在web上是不相关的,因为视图无论如何都必须刷新,因此,它需要请求模型的当前状态。否决票应附有解释,以便海报可以删除或修改以变得更有用,而不是将其留在这里,无法为其他人改进。我没有否决投票,但这显然是因为您实现了接近于
MVP
的东西,并且打破了
SRP
@DaveJust-您所说的违反SRP规则是什么意思?
class Page_Controller extends Controller {

  // __construct/__destruct/__callStatic/__call/etc, whatever you need in your implementation

  // -------------------------------------------------------
  // Adjust to suit your situation for passing data
  // This controller doesn't care where objSource comes from
  // -------------------------------------------------------
  private function pageSpecificImplementation($objSource = null){

    // using a factory class - but assume a view is created in whatever way works for you
    // the key thing here is that the view could be anything that can be returned as a string - but use whatever works for you
    $tplMain = make::view( 'template-url-or-path' )->assign(array(
       'placeholder1' => $objSource->value1,
       'placeholder2' => $objSource->value2
    ));

    $tplSub = make::view( 'template-url-or-path' )->assign( $objSource );

    $tplMain->assign('sub',$tplSub->render())->render();

    // $tpl is some form of html? csv?, who knows - not relevant at THIS stage

    // okay - now I know what I want to do!
    // decide what to do with it here - output headers for html
    // save to a file
    // output and cache the output, whatever works for you here
    // output to pdf?
    // send as an email?
    output::html( $tplMain, $cacheable, $cachetime... );
    // output::email( $tplMain, $extra_params );
    // output::pdf( $tplMain, $extra_params );
  }

}
$model = new Model;
$controller = new Controller($model);
$view = new View($model, $controller);
echo $view->output();