index.php文件
<?php
include_once ('class.Application.php');
$app = & new Application();
$app->run();
?>
class.Application.php文件
<?php
class Application
{
function getAction(){return $_GET['c'];}
function getMethod(){return $_GET['m'];}
function run(){
$pageClass = $this->getAction();
$m = $this->getMethod();
include_once ("class.".$pageClass.".php");
$page = & new $pageClass($this); 
$page->$m();
}
}
?>
class.HelloPage.php文件
<?php
require_once ("class.Page.php");
class HelloPage extends Page
{
function HelloPage(){parent::Page();}
function show(){
echo "show"; 
}
function say(){
echo "say"; 
}
}
?>
class.Page.php文件
<?php
class Page{
function Page(){}
function show(){}
}
?>
最后一个文件没看到有何作用,我看到了执行实例化指定类并执行指定方法,没有看到视图如何实现,如何向视图传递参数啊?如何实现语言啊?

解决方案 »

  1.   

    最后一个文件应该是所有业务逻辑的父类,其实就是业务逻辑类必须有function page和function show这两个方法将被自动调用,如果没有的话会出错,当然这两个方法也会在导出类中被重新定义。视图这里面没有,一般会用smarty之类的我想。class.HelloPage.php是业务逻辑类,将在index.php被c=HelloPage时实例化,并在m=say时调用say方法
    你用http://yourhost/index.php?c=HelloPage&m=say,估计在浏览器里出现来say吧,不知道其他框架是怎么实现,你这段代码倒跟我自己写的一个小框架思想上有点像。
      

  2.   

    不是自己写的,别人的代码,我拿来看的,想自己写一个,没思路啊,opencart的那个很简单都看不懂啊