-
// 添加,修改新聞 public function newsadd(){ // 判斷是否有 POST['submit'] 數(shù)據(jù) /*因?yàn)?$_POST 是一個(gè)全局變量 isset($_POST) 會(huì)一直 =ture 所以使用 !isset($_POST['submit']) 或者 empty($_POST['submit']) 來(lái)判斷*/ if(!isset($_POST['submit'])){ // POST 為空 顯示添加或修改界面 $data = $this->getnewsinfo(); //根據(jù) GET[id] 調(diào)取新聞數(shù)據(jù),沒(méi)有 GET[id] 返回空數(shù)組 //顯示新聞數(shù)據(jù) VIEW::assign(array('data'=>$data)); VIEW::display('admin/newsadd.html'); //添加修改新聞共用模板 }else{ //POST有數(shù)據(jù) 數(shù)據(jù)庫(kù)改或者添加新聞 $this->newssubmit(); // 根據(jù) GET[id] 有值則修改新聞, 無(wú)值則添加新聞 } }查看全部
-
控制器層不書寫任何業(yè)務(wù)處理程序,只負(fù)責(zé)各個(gè)model和view之間的協(xié)調(diào)調(diào)用(總概全局方法)。業(yè)務(wù)邏輯的具體實(shí)現(xiàn)在模型層!模型層根據(jù)相應(yīng)的方法進(jìn)行方法的細(xì)化,避免代碼量過(guò)長(zhǎng)而導(dǎo)致邏輯不清晰。查看全部
-
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=方法名 // 調(diào)用配置文件 require_once('config.php'); // 調(diào)用微型框架 require_once('framework/pc.php'); // 啟動(dòng)框架引擎 PC::run($config);查看全部
-
//獲取當(dāng)前文件地址 $currentdir = dirname(__FILE__); include_once($currentdir.'/include.list.php'); //加載部分庫(kù)文件 foreach($paths as $path){ include_once($currentdir.'/'.$path); } class PC{ public static $controller; public static $method; private static $config; //實(shí)例化 數(shù)據(jù)庫(kù)類 private static function init_db(){ DB::init('mysql', self::$config['dbconfig']); } //實(shí)例化 視圖類 private static function init_view(){ VIEW::init('Smarty', self::$config['viewconfig']); } //獲取(或初始化)當(dāng)前要調(diào)用的控制器 private static function init_controllor(){ self::$controller = isset($_GET['controller'])?daddslashes($_GET['controller']):'index'; } //獲取(或初始化)當(dāng)前要調(diào)用的控制器->方法 private static function init_method(){ self::$method = isset($_GET['method'])?daddslashes($_GET['method']):'index'; } //啟動(dòng)引擎 public static function run($config){ self::$config = $config; self::init_db(); self::init_view(); self::init_controllor(); self::init_method(); // 實(shí)例化控制器 并調(diào)用 指定方法 C(self::$controller, self::$method); } }查看全部
-
esc下的按鍵`的作用是防止sql語(yǔ)句中 表名,字段名等 出現(xiàn)SQL關(guān)鍵詞 而引起沖突的情況 mysql_real_escape_string() 函數(shù)轉(zhuǎn)義 SQL 語(yǔ)句中使用的字符串中的特殊字符。查看全部
-
mysql_result($query, $row, $filed); //取 $query 結(jié)果集中的第 $row 行第 $filed 個(gè)字段的數(shù)據(jù)查看全部
-
extract() 函數(shù)使用數(shù)組鍵名作為變量名,使用數(shù)組鍵值作為變量值,將數(shù)組(必須為關(guān)聯(lián)數(shù)組)拆分成變量.查看全部
-
1. 控制層只負(fù)責(zé)從某個(gè)model獲取數(shù)據(jù)處理的結(jié)果,再放到某個(gè)view進(jìn)行展示 數(shù)據(jù)的獲取,處理等全部在model層進(jìn)行 不要在控制層處理數(shù)據(jù)!!! 2.第三方類庫(kù)調(diào)用函數(shù)制作 (看截圖) 3.調(diào)用過(guò)程 //url形式 index.php?controller=控制器名&method=方法名 require_once('function.php'); //controller modeler viewer 及第三方類庫(kù) 調(diào)用函數(shù) require_once('config.php'); //配置文件 // 防止注入 // 只允許用戶輸入指定的控制器與方法 $controllerAllow = array('test', 'index'); $methodAllow = array('test', 'index', 'show'); // ORG($path, $name, $params=array()) 在 function.php 文件中,用于調(diào)用第三方類庫(kù)文件 $view = ORG('Smarty/', 'Smarty', $viewconfig); // 如果用戶輸入的是指定的控制器與方法,則對(duì)特殊字符進(jìn)行轉(zhuǎn)移 $controller = in_array($_GET['controller'], $controllerAllow)?daddslashes($_GET['controller']):'index'; $method = in_array($_GET['method'], $methodAllow)?daddslashes($_GET['method']):'index'; // 通過(guò) controller 模塊相關(guān)方法 1.調(diào)用 modeler 處理數(shù)據(jù), 2.調(diào)用 viewer 顯示處理結(jié)果 C($controller, $method);查看全部
-
創(chuàng)建Smarty block functions插件:在插件目錄里新建文件 block.插件名.php文件(如 block.插件名.php),然后插件方法名字書寫規(guī)范: smarty_block_插件名($params ,$content){} 如截圖所示; 調(diào)用方式: {插件名:第一個(gè)參數(shù)=參數(shù)值 第二個(gè)參數(shù)=參數(shù)值 } {要處理內(nèi)容} {/插件名} {test2 replace='true' maxnum=29} {$content} {/test2} 插件命名不能重復(fù)! 在使用setPluginsDir的時(shí)候應(yīng)該注意。它的作用是設(shè)置插件地址,在使用的時(shí)候應(yīng)該以一個(gè)數(shù)組的形式把SMARTY_PLUGINS_DIR包括在里面,不然插件自動(dòng)調(diào)用地址會(huì)只是你新設(shè)置的插件地址,這會(huì)導(dǎo)致系統(tǒng)自帶的plugins下的插件都不能使用。所以推薦使用addPluginsDir屬性來(lái)添加新的插件地址。查看全部
-
創(chuàng)建Smarty modifier插件:在插件目錄里新建文件 modifier.插件名.php 文件(如 modifier.插件名.php),然后插件方法名字書寫規(guī)范: smarty_modifier_插件名(變量1 [, 變量2]..... ){} 如 function smarty_modifier_test($utime, $format){ return date($format,$utime); } 調(diào)用方式 {第一個(gè)參數(shù)值|名稱:第二個(gè)參數(shù)值:第三個(gè)參數(shù)值......} {$time|test:'Y-m-d H:i:s'}查看全部
-
什么是Smarty插件? Smarty插件本質(zhì)上是function函數(shù) Smarty插件常用類型 functions 函數(shù)插件 modifiers 修飾插件 block functions 區(qū)塊函數(shù)插件 如何來(lái)制作使用插件 1:) 使用registerPlugin方法注冊(cè)寫好的自定義函數(shù) 2:) 將寫好的插件放入Smarty解壓目錄中的lib目錄下的plugins目錄里 3:) php的內(nèi)置函數(shù),可以自動(dòng)以修飾插件(變量調(diào)節(jié)器插件)的形式在模板里使用 插件函數(shù)命名:smarty_插件類型_函數(shù)名字() 插件文件命名:插件類型.插件名字.php//注意插件名字與插件函數(shù)名字一致 函數(shù)插件調(diào)用格式: {函數(shù)名 參數(shù)1=參數(shù)值 參數(shù)2=參數(shù)值 參數(shù)3=參數(shù)值}查看全部
-
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法組織代碼,將業(yè)務(wù)邏輯被聚焦到一個(gè)部件里面,在界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個(gè)性化定制的同時(shí)而不需要重新編寫業(yè)務(wù)邏輯查看全部
-
視圖將數(shù)據(jù)組織美化后輸出給用戶查看全部
-
模型獲取并返回?cái)?shù)據(jù)查看全部
舉報(bào)
0/150
提交
取消