黑人巨大40厘米重口无码資源免費看_亚洲制服丝袜日韩精品中文字幕_亚洲无码综合影院_福利片国产乱视频伦在线_谁有最新色视频网站_91美女秘片黄在线观看_国产香蕉一级在线_影音先锋最新资源_精品高清免费中文字幕不卡一区_人像艺术摄影

seo每天一貼

東莞建網(wǎng)站分享PHPCMS二次開(kāi)發(fā)經(jīng)驗(yàn)

點(diǎn)擊次數(shù):  更新時(shí)間:2014-03-28 19:36:50  【打印此頁(yè)】  【關(guān)閉

  家好網(wǎng)絡(luò)二次開(kāi)發(fā)phpcmsv9大型系統(tǒng),的一些了解;現(xiàn)在分享給大家! 
  模塊:
  
  phpcmsv9框架中的模塊,位于phpcms/modules目錄中每一個(gè)目錄稱之為一個(gè)模塊。即url訪問(wèn)中的m。
  
  
  
  訪問(wèn)content模塊示例:http://g3674.cn/index.php?m=content
  
  控制器:
  
  phpcmsv9的控制器就是模塊的類文件,位于phpcms/modules/模塊/目錄下面。類名成就是文件名+.php,例如一個(gè)名為abc的控制器,那么他的命名為abc.php即可??刂破黝惸J(rèn)繼承系統(tǒng)的函數(shù)庫(kù),可以直接使用??刂破黝惖念惷Q與控制器文件名必須相同。如果您創(chuàng)建了一個(gè)abc.php在test模塊下,那么我們?cè)跒g覽器里面輸入U(xiǎn)RL:http://g3674.cn/index.php?m=test&c=abc
  
  二次開(kāi)發(fā)技巧
  
  如果要對(duì)已存在的控制器進(jìn)行二次開(kāi)發(fā),為了方便升級(jí)不建議直接對(duì)內(nèi)核文件直接修改該,您可以通過(guò)“MY_*.php”的形式進(jìn)行二次開(kāi)發(fā)。
  
  例如您要對(duì)改phpcms/mood/index.php進(jìn)行二次開(kāi)發(fā)。您可以在與index.php同級(jí)的目錄下建立"MY_index.php"
  
  <?php
  classMY_indexextendsindex{
  function__construct(){
  parent::__construct();
  }
  ……yourcode
  }
  這樣當(dāng)您通過(guò)url訪問(wèn)index控制器的時(shí)候,系統(tǒng)會(huì)默認(rèn)指向MY_index.php并且原文件的方法將被繼承,可以直接使用。
  
  系統(tǒng)配置文件
  
  文件路徑:根目錄/caches/configs
  
  database.php數(shù)據(jù)庫(kù)配置文件
  system.php系統(tǒng)配置文件
  route.php路由配置文件
  調(diào)用方法
  
  如調(diào)用系統(tǒng)配置中的web_path:
  
  pc_base::load_config('system',web_path');
  
  CMS入口文件:
  
  PHPCMS是采用MVC設(shè)計(jì)模式開(kāi)發(fā),基于模塊和操作的方式進(jìn)行訪問(wèn),采用單一入口模式進(jìn)行項(xiàng)目部署和訪問(wèn),無(wú)論訪問(wèn)任何一個(gè)模塊或者功能,只有一個(gè)統(tǒng)一的入口。
  
  入口程序是在前期處理用戶請(qǐng)求的引導(dǎo)程序。它是唯一一個(gè)可以被最終用戶可以直接請(qǐng)求運(yùn)行的。
  
  文件路徑:根目錄/index.php
  
  <?php
  define('PHPCMS_PATH',dirname(__FILE__).DIRECTORY_SEPARATOR);
  includePHPCMS_PATH.'/phpcms/base.php';
  pc_base::creat_app();
  ?>
  這段代碼首先加載了phpcms框架的引導(dǎo)文件base.php,然后它根據(jù)指定的配置文件建立了一個(gè)Web應(yīng)用實(shí)例并運(yùn)行。
  
  Phpcmsv9后臺(tái)內(nèi)容管理
  
  
  
  Phpcmsv9后臺(tái)文章發(fā)布
  
  
  
  PHPCMSV9結(jié)構(gòu)設(shè)計(jì)
  
  根目錄
  |–api結(jié)構(gòu)文件目錄
  |–caches緩存文件目錄
  |–configs系統(tǒng)配置文件目錄
  |–caches_*系統(tǒng)緩存目錄
  |–phpcmsphpcms框架主目錄
  |–languages框架語(yǔ)言包目錄
  |–libs框架主類庫(kù)、主函數(shù)庫(kù)目錄
  |–model框架數(shù)據(jù)庫(kù)模型目錄
  |–modules框架模塊目錄
  |–templates框架系統(tǒng)模板目錄
  |–phpsso_serverphpsso主目錄
  |–statics系統(tǒng)附件包
  |–css系統(tǒng)css包
  |–images系統(tǒng)圖片包
  |–js系統(tǒng)js包
  |–index.php程序主入口
  
  
  PHPCMS框架入口文件:
  
  文件路徑:根目錄/phpcms/base.php代碼片段如下:
  
  <?php
  define('IN_PHPCMS',true);
  define('PC_PATH',dirname(__FILE__).DIRECTORY_SEPARATOR);
  if(!defined('PHPCMS_PATH'))define('PHPCMS_PATH',PC_PATH.'..'.DIRECTORY_SEPARATOR);
  define('CACHE_PATH',PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR);
  ……
  ?>
  該文件為框架入口文件,包含實(shí)例化系統(tǒng)/模塊類方法,調(diào)用系統(tǒng)/模塊方法,系統(tǒng)常用常量等。如:
  
   pc_base::load_model(‘*_model’)加載數(shù)據(jù)庫(kù)模型pc_base::load_sys_class(‘classname’)實(shí)例化系統(tǒng)類
  pc_base::load_app_class(‘classname’,’admin’)實(shí)例化模塊類
  pc_base::load_sys_func(‘funcfile’)調(diào)用系統(tǒng)函數(shù)庫(kù)
  全局函數(shù)文件:
  
  文件路徑:根目錄/phpcms/libs/functions/global.func.php代碼片段如下:
  
  <?php
  functionnew_addslashes($string){
  if(!is_array($string))returnaddslashes($string);
  foreach($stringas$key=>$val)$string[$key]=new_addslashes($val);
  return$string;
  }
  ……
  ?>
  該文件中的函數(shù),為全系統(tǒng)基礎(chǔ)函數(shù),可以在系統(tǒng)中直接調(diào)用。
  
  二次開(kāi)發(fā)技巧:
  
  如果需要增加自己的全局函數(shù),可根據(jù)需要增加到/phpcms/libs/functions/global.func.php/extention.func.php中,不會(huì)影響升級(jí)
  
  數(shù)據(jù)模型基類:
  
  文件路徑:根目錄/phpcms/libs/classes/model.class.php代碼片段如下:
  
  <?php
  pc_base::load_sys_class('db_factory','',0);
  classmodel{//數(shù)據(jù)庫(kù)配置
  protected$db_config='';//數(shù)據(jù)庫(kù)連接
  protected$db='';//調(diào)用數(shù)據(jù)庫(kù)的配置項(xiàng)
  protected$db_setting='default';//數(shù)據(jù)表名
  protected$table_name='';//表前綴
  public$db_tablepre='';
  ……
  ?>
  加載數(shù)據(jù)模型后,可以的數(shù)據(jù)庫(kù)該類中方法進(jìn)行數(shù)據(jù)庫(kù)操作。
  
  表單調(diào)用類:
  
  文件路徑:根目錄/phpcms/libs/classes/form.class.php。代碼片段如下:
  
  <?php
  classform{
  //編輯器調(diào)用
  publicstaticfunctioneditor($textareaid='content',$toolbar='basic',$module='',$catid='',$color='',$allowupload=0,$allowbrowser=1,$alowuploadexts='',$height=200,$disabled_page=0){
  }
  //圖片上傳調(diào)用
  publicstaticfunctionimages($name,$id='',$value='',$moudle='',$catid='',$size=50,$class='',$ext='',$alowexts='',$thumb_setting=array(),$watermark_setting=0){
  }
  ……
  ?>
  通過(guò)實(shí)例化該類可以,調(diào)用在程序中調(diào)用編輯器、表單上傳、日期選擇、欄目結(jié)構(gòu)等表單。實(shí)例化方法:pc_base::load_sys_class('form','',0);
  
  模板解析緩存類:
  
  文件路徑:根目錄/phpcms/libs/classes/template_cache.class.php。代碼片段如下:
  
  <?php
  finalclasstemplate_cache{
  publicfunctiontemplate_compile($module,$template,$style=‘default’){
  $tplfile=$_tpl=PC_PATH.'templates'.DIRECTORY_SEPARATOR.$style.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.html';
  ……
  ?>
  該類作用為解析模板,解析模板及更新模板緩存
  
  創(chuàng)建模塊控制器類
  
  為test模塊增加一個(gè)名為myest的控制器文件路徑:根目錄/phpcms/modules/test/mytest.php。代碼片段如下:
  
  <?php
  defined('IN_PHPCMS')orexit('Nopermissionresources.');
  classmytest{
  function__construct(){
  }
  publicfunctioninit(){
  $var='helloworld!';
  echo$myvar;
  }
  publicfunctionmylist(){
  $var='helloworld!thisisaexample!';
  echo$myvar;
  }
  }
  ?>
  常用操作列表(1)
  
  1.調(diào)用數(shù)據(jù)庫(kù)模型
  
  $this->db=pc_base::load_model('test_model');
  其中$this->db中所支持的方法請(qǐng)參照phpcms/libs/classes/model.class.php中方法
  
  2.加載系統(tǒng)類
  
  $http=pc_base::load_sys_class('http');//實(shí)例化http類
  pc_base::load_sys_class('format','',0);//調(diào)用form類,不進(jìn)行實(shí)例化操作3.加載系統(tǒng)函
  3.加載系統(tǒng)函數(shù)庫(kù)
  
  pc_base::load_sys_func('mail');//調(diào)用mail函數(shù)包
  4.加載模塊類
  
  $test=pc_base::load_sys_class(‘classname‘,’test’);//實(shí)例化test模塊下classname類
  5.加載模塊函數(shù)庫(kù)
  
  pc_base::load_sys_func(‘global‘,’test’);//調(diào)用test模塊的global函數(shù)包
  常用操作列表(2)
  
  6.加載前臺(tái)模板
  
  includetemplate('test','mytest','default');
  7.加載后臺(tái)模板
  
  include$this->admin_tpl('mytest_admin_list');
  8.權(quán)限控制
  
  后臺(tái)控制控制器需要加載admin模塊下的admin類,并繼承該類
  
  <?php
  defined('IN_PHPCMS')orexit('Nopermissionresources.');
  pc_base::load_app_class('admin','admin',0);
  classmytest_adminextendsadmin{
  //這個(gè)控制器需要登錄后臺(tái)才可以訪問(wèn)}
  ?>
  PHPCMSV9模板與標(biāo)簽
  
  PC標(biāo)簽
  評(píng)論模塊
  會(huì)員模塊
  友情鏈接模塊
  投票模塊
  公告模塊
  專題模塊
  內(nèi)容模塊
  工具箱
  json工具箱
  xml工具箱
  get標(biāo)簽
  碎片工具箱
  
 

家好網(wǎng)絡(luò)原創(chuàng)文章,本文地址:http://g3674.cn/news/news116.html,轉(zhuǎn)載請(qǐng)注明出處。