关于QeePHP的总结

1、目录结构

顶层目录结构

  • _code

    保存应用程序主要代码的目录,包括控制器、模型、视图、表单、用户界面控件、助手

  • _config

    保存应用程序的所有配置文件

  • _devel

    保存应用程序的文档和数据库脚本文件,通常是一些.sql文件

  • _tmp

    保存应用程序运行期间产生的日志文件和临时文件

  • public

    保存应用程序的图片和js、css文件等静态文件

  • index.php

    入口文件(第一个访问的文件,所有的指令功能都是从这文件分发出去)

_code子目录

  • controller

    保存了控制器的代码

  • model

    保存了模型相关代码

  • view

    视图文件所在目录。包含两个特殊目录:_elements和_layouts。分别用于存储视图片段文件和布局视图文件。视图目录下会有一个与每个控制器同名的子目录,目录中的文件名和控制器动作的名称一致。

  • control

    用户界面控件是QeePHP实现用户界面组件化的强大工具

  • helper

    应用程序自己的助手类可以放在该目录中。类名称为“Helper_Text”的助手文件对应的是helper/text.php

  • _library

    保存应用程序用到的第三库文件

  • _config

    保存应用配置文件,如数据库连接

  • myapp.php

    封装了应用程序的Web端的基本MVC流程和初始化操作,并为应用程序提供一些公共服务。

  • cli.php

    封装了应用程序的终端的基本MVC流程和初始化操作,并为应用程序提供一些公共服务。

2、MVC模式

  • M代表Model,即模型,用于封装与业务逻辑有关的代码和数据。例如对订单模型和商品模型,分别封装的是订单和商品的数据和业务逻辑。

  • V代表View, 即视图,用于呈现内容给用户(就是将程序运行的结果返回给浏览器显示)。例如商品列表界面、后台登录界面。

  • C代表Controlller,即控制器,用于接收用户输入(通过浏览器发起的请求),然后调用模型对输入的数据进行处理并获得处理结果。最后将结果传递到视图(View),从而让用户能看到自己的操作结果。

    例如:用户点击删除文章按钮后,控制器调用操作文章的模型,删除指定文章,最后通过视图显示成功删除文章的提示信息。

    作用:分离逻辑和表现。业务逻辑在模型中实现,处理结果在视图中显示。控制器充当中间人,根据用户请求调用模型,把处理结果调用到视图中。
    优点
    1. 清晰的将应用程序分隔为独立的部分
    2. 业务逻辑代码能够方便的在多处重复使用
    3. 方便开发人员分工协作
    4. 方便开发人员对应用程序各个部分的代码进行测试控制器角色
    控制器角色

    所有用户(通常是浏览器)的请求在QeePHP进行解析后,都交给控制器来处理,但是控制器不完成具体业务,控制器只将用户输入的数据提交给模型,然后调用模型的业务方法来实际完成业务。控制器是应用程序暴露给外部的接口,应用程序外部的用户只有访问控制器,才能使用应用程序。

    总结
    • 动作方法

      控制器类中以“action”开头的方法,例如actionTest()

    • 默认动作方法

      未指定动作方法时,默认调用actionIndex()动作方法

    • 默认控制器

      未指定控制器时,默认调用default这个默认控制器

    • 动作名称和控制器名称

      只能是26个字母和10个数字组成,并且不区分大小写

3、ORM

定义:ORM(对象关系映射)

作用:在关系型数据库中存储对象间的关系时,需要ORM系统来提供帮助

4、url()函数

作用:生成有效的url地址

例如:

url('user/register')

5、视图布局

  • 指定要继承的视图

    <?PHP $this->_extends('_layouts/default_layout');?>
    
  • 通过定义区块来覆盖父模板的内容

    <?php $this->_block('contents'); ?>
    
    <?php $this->_endblock();?>
    

6、访问控制

原因:应用程序总会限制某些功能对部分用户开放

作用:为应用程序外围增加一个检查机制,只有通过检查的请求才会被应用程序处理

  • 基于角色的访问控制,简写为RBAC(Role-based Accss Control)
    • RBAC充当了系统的安全屏障,所有的操作经过RBAC的验证过才能使用,充分保证了系统的安全性

    • 具体在应用程序中,RBAC就是限制了没有权限的用户无法访问那些受保护的控制器动作方法。

      例如:不具备管理员角色的用户无法访问admin控制器

  • ACL服务

    应用程序对象利用ACL服务拦截未授权的访问

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值