-
// 添加,修改新闻 public function newsadd(){ // 判断是否有 POST['submit'] 数据 /*因为 $_POST 是一个全局变量 isset($_POST) 会一直 =ture 所以使用 !isset($_POST['submit']) 或者 empty($_POST['submit']) 来判断*/ if(!isset($_POST['submit'])){ // POST 为空 显示添加或修改界面 $data = $this->getnewsinfo(); //根据 GET[id] 调取新闻数据,没有 GET[id] 返回空数组 //显示新闻数据 VIEW::assign(array('data'=>$data)); VIEW::display('admin/newsadd.html'); //添加修改新闻共用模板 }else{ //POST有数据 数据库改或者添加新闻 $this->newssubmit(); // 根据 GET[id] 有值则修改新闻, 无值则添加新闻 } }查看全部
-
控制器层不书写任何业务处理程序,只负责各个model和view之间的协调调用(总概全局方法)。业务逻辑的具体实现在模型层!模型层根据相应的方法进行方法的细化,避免代码量过长而导致逻辑不清晰。查看全部
-
1. http://localhost/MVC/admin.php?controller=admin&method=test 2. admin.php-> framework/pc.php: PC::run() -> framework/function.php: C() -> libs/controller/adminCController.class.php:test()查看全部
-
header("Content-type: text/html; charset=utf-8"); //url形式 index.php?controller=控制器名&method=方法名 // 调用配置文件 require_once('config.php'); // 调用微型框架 require_once('framework/pc.php'); // 启动框架引擎 PC::run($config);查看全部
-
//获取当前文件地址 $currentdir = dirname(__FILE__); include_once($currentdir.'/include.list.php'); //加载部分库文件 foreach($paths as $path){ include_once($currentdir.'/'.$path); } class PC{ public static $controller; public static $method; private static $config; //实例化 数据库类 private static function init_db(){ DB::init('mysql', self::$config['dbconfig']); } //实例化 视图类 private static function init_view(){ VIEW::init('Smarty', self::$config['viewconfig']); } //获取(或初始化)当前要调用的控制器 private static function init_controllor(){ self::$controller = isset($_GET['controller'])?daddslashes($_GET['controller']):'index'; } //获取(或初始化)当前要调用的控制器->方法 private static function init_method(){ self::$method = isset($_GET['method'])?daddslashes($_GET['method']):'index'; } //启动引擎 public static function run($config){ self::$config = $config; self::init_db(); self::init_view(); self::init_controllor(); self::init_method(); // 实例化控制器 并调用 指定方法 C(self::$controller, self::$method); } }查看全部
-
esc下的按键`的作用是防止sql语句中 表名,字段名等 出现SQL关键词 而引起冲突的情况 mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。查看全部
-
mysql_result($query, $row, $filed); //取 $query 结果集中的第 $row 行第 $filed 个字段的数据查看全部
-
extract() 函数使用数组键名作为变量名,使用数组键值作为变量值,将数组(必须为关联数组)拆分成变量.查看全部
-
1. 控制层只负责从某个model获取数据处理的结果,再放到某个view进行展示 数据的获取,处理等全部在model层进行 不要在控制层处理数据!!! 2.第三方类库调用函数制作 (看截图) 3.调用过程 //url形式 index.php?controller=控制器名&method=方法名 require_once('function.php'); //controller modeler viewer 及第三方类库 调用函数 require_once('config.php'); //配置文件 // 防止注入 // 只允许用户输入指定的控制器与方法 $controllerAllow = array('test', 'index'); $methodAllow = array('test', 'index', 'show'); // ORG($path, $name, $params=array()) 在 function.php 文件中,用于调用第三方类库文件 $view = ORG('Smarty/', 'Smarty', $viewconfig); // 如果用户输入的是指定的控制器与方法,则对特殊字符进行转移 $controller = in_array($_GET['controller'], $controllerAllow)?daddslashes($_GET['controller']):'index'; $method = in_array($_GET['method'], $methodAllow)?daddslashes($_GET['method']):'index'; // 通过 controller 模块相关方法 1.调用 modeler 处理数据, 2.调用 viewer 显示处理结果 C($controller, $method);查看全部
-
创建Smarty block functions插件:在插件目录里新建文件 block.插件名.php文件(如 block.插件名.php),然后插件方法名字书写规范: smarty_block_插件名($params ,$content){} 如截图所示; 调用方式: {插件名:第一个参数=参数值 第二个参数=参数值 } {要处理内容} {/插件名} {test2 replace='true' maxnum=29} {$content} {/test2} 插件命名不能重复! 在使用setPluginsDir的时候应该注意。它的作用是设置插件地址,在使用的时候应该以一个数组的形式把SMARTY_PLUGINS_DIR包括在里面,不然插件自动调用地址会只是你新设置的插件地址,这会导致系统自带的plugins下的插件都不能使用。所以推荐使用addPluginsDir属性来添加新的插件地址。查看全部
-
创建Smarty modifier插件:在插件目录里新建文件 modifier.插件名.php 文件(如 modifier.插件名.php),然后插件方法名字书写规范: smarty_modifier_插件名(变量1 [, 变量2]..... ){} 如 function smarty_modifier_test($utime, $format){ return date($format,$utime); } 调用方式 {第一个参数值|名称:第二个参数值:第三个参数值......} {$time|test:'Y-m-d H:i:s'}查看全部
-
什么是Smarty插件? Smarty插件本质上是function函数 Smarty插件常用类型 functions 函数插件 modifiers 修饰插件 block functions 区块函数插件 如何来制作使用插件 1:) 使用registerPlugin方法注册写好的自定义函数 2:) 将写好的插件放入Smarty解压目录中的lib目录下的plugins目录里 3:) php的内置函数,可以自动以修饰插件(变量调节器插件)的形式在模板里使用 插件函数命名:smarty_插件类型_函数名字() 插件文件命名:插件类型.插件名字.php//注意插件名字与插件函数名字一致 函数插件调用格式: {函数名 参数1=参数值 参数2=参数值 参数3=参数值}查看全部
-
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将业务逻辑被聚焦到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑查看全部
-
视图将数据组织美化后输出给用户查看全部
-
模型获取并返回数据查看全部
举报
0/150
提交
取消