Fork Me On Github
zodream zodream框架 2016-03-03

整体说明


    在本程序中,主要使用的是领域驱动设计模式,在主程序中主要分为四部分:用户层、服务层、领域层、基础层。    
    用户层主要面向用户,包括界面,负责展示给用户看,是面向浏览器端。    
    服务层主要负责接收用户信息,分配领域层执行具体操作,并将结果返回给用户。    
    领域层负责具体执行流程,是整个模式的核心。    
    基础层主要负责底层方法,提供基础设施,为领域层的执行提供底层方法。    
        

基本步骤


    在本程序中,    
    从浏览器接受网址,    
    启动指定的脚本文件(例如index.php),启动主程序(Service/Application.php),进入路由导航(Service/Routing/Router.php -> Route.php),根据配置文件信息路由驱动解析网址(例如:优雅链接),分配到具体的控制器(Service/Home/HomeCcontroller.php),执行控制器中的指定方法(indexAction),返回具体的界面($this->show('index')    -> UserInterface/Home/index.php)    
   

路由介绍


    在整个流程中,路由的原理是:    
    第一步,判断是否是首页;    
    第二步,判断是否是在配置文件中注册的路由;    
    第三步,进行自动判断,先判断网址中包含控制器和方法,再判断只包控制器(方法为默认 index),再判断只包含方法(控制器为默认Home),最后报错;    
    其中网址可能包含参数,参数以数字分割,如果提取的参数是单数,第一个数字则为分隔符,忽略,然后把参数进行配对,奇数为参数名,偶数为参数值。    
        

控制器介绍


    控制器中包括变量和方法,变量是 $rules ,指定方法的规则,基本规则有 * 无要求 ? 必须是游客, @ 必须已经登录, p 必须POST提交, ! 未开放不能访问, 其他 要求通过验证权限;方法,方法名必须加上APP_ACTION定义的后缀(避免与普通方法混淆),加载数据或插件,可以通过    use、include、include_once、require、require_once ,也可通过 $this->loader->model()、$this->loader->library()、$this->loader->plugin()    加载,然后通过 $this->__() 使用;通过 $this->show() 指向界面,如果第一个参数不是 string 则,根据路由解析出来的控制器名和方法名自动加载界面(例如 HomeController::indexAction    -> Home/index.php),如果是指定则可以用户 . 代替 / ,对界面传参数,可以用 $this->send() 传任意值(如果不是数组则自动加在 data 下)或 $this->show() 第一个参数为数组或第二个参数;    
        

View介绍


    在界面中,可以用 $this->get() 取值, 用 <?=?> 直接输出值, 用 $this->extend() 内联其他界面 $this->url() 直接输出完整网址    $this->asset() 直接输出资源网址 参考Yii2 输出js css文件脚本。    
        

结束语


    基本介绍就这么多。

点击查看全文
0 273 0