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

MVC架构模式分析与设计

PengCheng PHP开发工程师
难度中级
时长 5小时36分
学习人数
综合评分9.53
196人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.2 逻辑清晰
看到phpfish的回答以后,去翻了翻Smarty.class.php发现了如下语句:

/**
* template left-delimiter
*
* @var string
*/
public $left_delimiter = "{";

/**
* template right-delimiter
*
* @var string
*/
public $right_delimiter = "}";

....默认定界符就是{}不用另外再去声明了吧,提醒一下后面学习的同学
所以给出了一个改良型的代码,抛砖引玉

<?php
require "function.php";
$whiteArr = ['test@model','test@show'];
$controller = isset($_GET['c'])?sAddslashes($_GET['c']):'test';
$method = isset($_GET['m'])?sAddslashes($_GET['m']):'show';
in_array($controller.'@'.$method,$whiteArr)?'':die;
C($controller, $method);
?>
$controllerAllow = array('test','index');
$methodAllow = array('test','index','show');
这样写存在一个潜在的安全性问题,极有可能出现以下情况:
允许test下的show访问 但不允许index下的show被访问
允许index下的index访问 但不允许test下的index被访问
等等....
推荐加上这个判断,毕竟要考虑到可移植性,其他人使用你这套系统的时候他们的或许因其他项目因素而开启了,为了兼容性,还是加上比较好,省的环境变化再去改代码。
@王进王进
localhost等价于127.0.0.1
讲师所使用的mvc.test实际为本地的虚拟域名而已,可以在hosts文件里面进行配置。

最新回答 / bo giǎng
不一定要用WAMP啊,用PHPstudy也行http://dl1sw.baidu.com/bddl/setup-1.7.0.104-BDdl_17836.exe
看到這里了,还是没完全搞清楚smarty是干嘛的!~~~ 知道是干view 这功能的,然后呢??在php写好逻辑,在模板进行输入, 而这模板有可能是html 这意味着什么??????哎!~~
这辆车倒着开好像更好懂,先实例化smarty,然后$smarty->display,然后把$smarty换成工厂模式的VIEW::dispaly,VIEW里面实例化smarty,然后启动引擎PC的run初始化smarty,当然不能忘了run里面还有个C函数,实例化controller,也是用于处理页面传过来的controller和method,然后接收页面再PC::run($config),此时当然也把控制器和方法传了过去,不知道在不在理。。。
啊啊啊啊啊啊啊啊啊啊 语法,语法,语法 。。。。。。。
记不住!~~!~~~~!!~!!~!~!!~!~~!~!~!~!~!~!~!~!~~!~!~!~!~!~!~!~!~!~!~!~!语法好多!~~!!~
看了這么久,语法还是语法,看不到真正的作用。。。
课程须知
本课程是php高级课程的一环,需要大家掌握以下知识点: 1、对php的基础知识掌握,如数组、自定义函数、php常用内置函数 2、掌握php面向对象编程的基本概念,至少要明白类、对象的概念
老师告诉你能学到什么?
1、MVC理论概念。 2、运用MVC理论设计简单的框架。 3、对框架里MVC三层的调用进行简化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消