为了账号安全,请及时绑定邮箱和手机立即绑定

MVC架构模式分析与设计

PengCheng PHP开发工程师
难度中级
时长 5小时36分
学习人数
综合评分9.53
196人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.2 逻辑清晰
  • 对于value来说,sql本身是没啥问题的,但是PHP就有问题了,比如就拿教程里面的这种方式,把变量 $value 里的字符串直接拼接成为 sql 语句,就会存在很大的安全隐患,举个例子,假设你开发一个密码登录的接口,$value1 里存的是用户账号,$value2 里存的是用户密码,sql语句是这样子拼的:

    $sql = "select * from user where `account` = '".$value1."' and `password` = '".$value2."'";

    如果遇到恶意用户,他在登录时把密码填成  123456' or '1' = '1 ,想一下,你最后会得到什么样的sql语句,是不是

    select * from user where `account` = 'zhangsan' and `password` = '123456' or '1' = '1'

    于是只要 '1' = '1' 成立,sql语句就能执行成功。。。

    是不是很可怕?这就叫做 sql 注入,是一种很古老的黑客攻击手段,所以现在一般会用 addslashes 对用户提交的内容进行转义,把那些可能会导致sql注入的关键字给替换掉。


    查看全部
  • 数组里有一个元素也可以叫数组

    查看全部
  • 给字段名加上··这个符号,可以转换关键词;这个符号在键盘Esc的下面

    查看全部
  • 解决问题的方法:这些方法也是tp框架等一些框架的核心

    查看全部
    0 采集 收起 来源:问题分析

    2018-05-28

  • 面向过程编程的问题总结

    查看全部
    0 采集 收起 来源:问题分析

    2018-05-28

  • template_c放置编译后的文件(存放缓存文件的地方),现在都不用smarty缓存了(可以设置关闭),因为有了memcache等缓存技术;

    控制层只负责从某个model获取数据,再放到某个view进行展示


    数据的处理全部在Model层搞定

    不要在控制层处理数据!!

    1.如果以后控制层变得越来越复杂,可能就是业务逻辑层被写进了控制层,这是不对的

    2.业务逻辑层(Model层)是MVC系统的核心,无论是从数据库取数据,还是第三方接口取数据、传递数据,还是完成一系列的查询分类筛选清洗等操作都是在业务逻辑层完成。


    查看全部
    0 采集 收起 来源:Smarty实例

    2018-05-27

  • 对于mvc框架smarty就是第三方视图类库,使用smarty先要include到include.php 再在实例化smarty 最后配置smarty,完成这些操作才能使用smarty视图引擎。 如果统一将这些操作写到function.php页,将大大简化重复编写操作,方便后期修改。

    查看全部
    0 采集 收起 来源:Smarty实例

    2018-05-27

  • 这里使用了smarty模板引擎中的两个函数assgin()和display();assgin()作用是将一个变量注册到模板里;display()作用是调用模板

    查看全部
    0 采集 收起 来源:Smarty实例

    2018-05-27

  • 将smarty模板引擎引入MVC(即整个项目);到此为止,整个MVC的基本框架可以算完成;smarty模板引擎也叫视图引擎;即将要展示的东西分配到前台模板(HTML)

    查看全部
    0 采集 收起 来源:Smarty实例

    2018-05-27

  • 第三方类库调用函数制作 (看截图)

    查看全部
    0 采集 收起 来源:Smarty实例

    2018-05-27

  • 将学到的smarty知识用到MVC中,封装一个函数用来控制调用第三方的插件(函数/类)

    查看全部
    0 采集 收起 来源:Smarty实例

    2018-05-27

  • 实战实战实战

    查看全部
    0 采集 收起 来源:Smarty实例

    2018-05-27

  • Smarty三种插件 用例及释义


    functions 函数插件 (自定义函数)

    1.将插件以 function.插件名.php 的格式进行建立,放置在./lib/plugins目录下

    2.插件内为php代码 且为function函数

    格式: function smarty_function_插件名 ($params){... $params[参数1] $params[参数2] ...}

    注意: 该处的插件名要和脚本名中的插件名 要一致.

    用法: {test width="150" height="200"}


    modifiers 修饰插件 (自定义变量调节器)

    1.将插件以 modifier.插件名.php 的格式进行建立,放置在./lib/plugins目录下

    2.插件内为php代码 且为function函数

    格式: function smarty_modifier_插件名 (参数1,参数2,参数3...){...}

    注意: 该处的插件名要和脚本名中的插件名 要一致.

    用法: {$time|test:'Y-m-d H:i:s'}


    bloack 区块函数插件 (自定义区块函数)

    1.将插件以 bloack.插件名.php 的格式进行建立,放置在./lib/plugins目录下

    2.插件内为php代码 且为function函数

    格式: function smarty_block_插件名 ($params, $content){... $params[参数1] $params[参数2] ...}

    注意: 该处的插件名要和脚本名中的插件名 要一致.

    用法: {test replace=true maxnum=43} {$str} {/test}


    查看全部
  • 插件命名不能重复!

    查看全部
  • 模板在调用插件的时候,smarty(test.php)中,依然需要这两个步骤,即

    $smarty->assign('arr',$arr);//对smarty模板赋值

    $smarty->display('test.tpl');//分配到模板


    查看全部

举报

0/150
提交
取消
课程须知
本课程是php高级课程的一环,需要大家掌握以下知识点: 1、对php的基础知识掌握,如数组、自定义函数、php常用内置函数 2、掌握php面向对象编程的基本概念,至少要明白类、对象的概念
老师告诉你能学到什么?
1、MVC理论概念。 2、运用MVC理论设计简单的框架。 3、对框架里MVC三层的调用进行简化。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!