PHP MVC 从零学起(2)
程序员文章站
2022-05-11 10:03:16
...
PHPMVC从零学起,带你编写自己的框架。 想拥有属于自己的框架吗?来吧,带你装B,带你飞。 项目默认访问:http://虚拟域名/index.php?mod=mainnbsp;MVC 第2集,配置smarty模版引擎、过滤HTTP请求防止注入 目录结构: application ------cache ------component
PHP MVC 从零学起,带你编写自己的框架。
想拥有属于自己的框架吗?来吧,带你装B,带你飞。
项目默认访问:http://虚拟域名/index.php?mod=main&act=index
第1集,简单入门 MVC
第2集,配置smarty模版引擎、 过滤HTTP请求防止注入
目录结构:
application
------cache
------components
------------controller.php
------------functions.php
------configs
------------config.php
------controllers
------------main.php
------views
------------default
------------------index.php
plugin
------smarty
index.php
initConfig(); $this->initViews(); } /** * 加载配置 */ public function initConfig() { session_start(); require CONFIGS_PATH . '/config.php'; $this->config = $config; } /** * 加载smarty */ public function initViews() { require PLUGIN_PATH . '/smarty/Smarty.class.php'; $this->tpl = new Smarty(); $data = $this->config['smarty']; foreach ($data as $key => $val) { $this->tpl->$key = $val; } } /** * smarty同名方法assign * * @param string $tpl_var * @param mixed $value */ public function assign($tpl_var, $value = null) { $this->tpl->assign($tpl_var, $value); } /** * smarty同名方法display * * @param string $resource_name * @param string $cache_id * @param string $compile_id */ public function display($resource_name, $cache_id = null, $compile_id = null) { $this->tpl->display($resource_name, $cache_id, $compile_id); } }
'; $config['smarty']['template_dir'] = VIEWS_PATH . '/default'; $config['smarty']['compile_dir'] = CACHE_PATH . '/smarty/template_c'; $config['smarty']['cache_dir'] = CACHE_PATH . '/smarty/cache_c'; $config['smarty']['caching'] = false; $config['smarty']['cache_lifetime'] = 3600; $config['smarty']['debugging'] = false; ?>
assign('hi', 'holle smarty!'); $this->display('index.html'); } } ?>
$v){ ${$value}[$k] = func::saddslashes($v); } unset($value); } $mod = $_REQUEST['mod'] = !empty($_REQUEST['mod']) ? $_REQUEST['mod'] : 'main'; $act = $_REQUEST['act'] = !empty($_REQUEST['act']) ? $_REQUEST['act'] : 'index'; $controller_file = CONTROLLERS_PATH . '/' . $mod . '.php'; if(!file_exists($controller_file)){ die('没有找到对应的程序文件'); } require $controller_file; $controller = new $mod(); $controller->$act(); ?>