位置:首页  >   读书笔记  > 全栈学习-十七讲-tp

全栈学习-十七讲-tp

分层

    分层中的黑板

    按执行流程分层,而不是按业务逻辑分层


    分层的评估标准

       修改发生在固定的层        

        新增功能可以发生在各个层、

        很多分层模型能减少修改的工作量不能减少新增的功能的工作量

    控制器

        前端控制器App.class.php

        单一入口

        路由

        自动加载

        报错接管

    应用控制器controller.class.php

        参数绑定

        跳转/重定向:success,error

   Thinkphp/library/Tink/Think.class.php

        自动加载spl_autoload_register()

        set_error_handler()

        App:run

                init(),委托给dispatcher

                exec();调用Controller

                run();

        路由解析实现

        参数绑定实现

            think/App.class.php  方法的反射和类的反射

        模型

                ORM

                数据库驱动

                连贯操作

               自动验证        自动生成    字段映射   令牌验证

            类的职责:Model:封装了通用的业务逻辑(字段验证,自动完成)

                        Db 数据库操作

               委托后可扩展性更强

            设计模式:策略模式

                Model.php  create来自动验证

            _after_find()        

            _after_select()

            ...

            视图模型,关联模型,高级模型都是他们扩展出来的。

                    extends 模型 #不好

            视图;

        模板变量赋值   模板渲染

        支持主题切换  支持模板引擎切换

        用正则替换的方法解析模板标签

        template.class.php的parseTagLib方法

        自定义标签库

            TAGLIB_BUILD_IN=>'my,cx'

            利用解析顺序,将自定义标签库放在cx前面,自定义标签中返回的字符串可以是thinkphp内置标签


    

                


0
文章属性
精彩评论