国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
PHPCMS二次開發(fā)教程(轉(zhuǎn)),phpcms二次開發(fā)教程
? ??? ?? PHP ???? PHPCMS二次開發(fā)教程(轉(zhuǎn)),phpcms二次開發(fā)教程_PHP教程

PHPCMS二次開發(fā)教程(轉(zhuǎn)),phpcms二次開發(fā)教程_PHP教程

Jul 12, 2016 am 08:49 AM
phpcms

PHPCMS二次開發(fā)教程(轉(zhuǎn)),phpcms二次開發(fā)教程

轉(zhuǎn)自:http://www.cnblogs.com/semcoding/p/3347600.html

PHPCMS V9 結(jié)構(gòu)設(shè)計

根目錄
|–api? 結(jié)構(gòu)文件目錄
|–caches 緩存文件目錄
?? |– configs 系統(tǒng)配置文件目錄
?? |– caches_* 系統(tǒng)緩存目錄
|–phpcms? phpcms框架主目錄
?? |– languages 框架語言包目錄
?? |– libs 框架主類庫、主函數(shù)庫目錄
?? |– model 框架數(shù)據(jù)庫模型目錄
?? |– modules 框架模塊目錄
?? |– templates 框架系統(tǒng)模板目錄
|–phpsso_server? phpsso主目錄
|–statics? 系統(tǒng)附件包
?? | – css 系統(tǒng)css包
?? | – images 系統(tǒng)圖片包
?? | – js 系統(tǒng)js包
|–index.php? 程序主入口

PHPCMS V9 核心文件說明

模塊與控制器

模塊:

phpcms v9框架中的模塊,位于phpcms/modules目錄中 每一個目錄稱之為一個模塊。即url訪問中的m。

訪問content模塊示例:http://www.yourname.com/index.php?m=content

控制器:

phpcms v9的控制器就是模塊的類文件,位于phpcms/modules/模塊/目錄下面。類名成就是文件名+.php,例如一個名為abc的控制器,那么他的命名為abc.php即可??刂破黝惸J繼承系統(tǒng)的函數(shù)庫,可以直接使用。控制器類的類名稱與控制器文件名必須相同。如果您創(chuàng)建了一個abc.php在test模塊下,那么我們在瀏覽器里面輸入URL:http://www.yourname.com/index.php?m=test&c=abc

二次開發(fā)技巧

如果要對已存在的控制器進行二次開發(fā),為了方便升級不建議直接對內(nèi)核文件直接修改該,您可以通過“MY_*.php”的形式進行二次開發(fā)。

例如您要對改phpcms/mood/index.php進行二次開發(fā)。您可以在與index.php同級的目錄下建立"MY_index.php"

<?php
	class MY_index extends index{
		function __construct() {
			parent::__construct();
			}
			……your code
	}

這樣當您通過url訪問index控制器的時候,系統(tǒng)會默認指向MY_index.php 并且原文件的方法將被繼承,可以直接使用。

系統(tǒng)配置文件

文件路徑:根目錄/caches/configs

  • database.php 數(shù)據(jù)庫配置文件
  • 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è)計模式開發(fā),基于模塊和操作的方式進行訪問,采用單一入口模式進行項目部署和訪問,無論訪問任何一個模塊或者功能,只有一個統(tǒng)一的入口。

入口程序是在前期處理用戶請求的引導程序。它是唯一一個可以被最終用戶可以直接請求運行的。

文件路徑:根目錄/index.php

<?php
	define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
	include PHPCMS_PATH.'/phpcms/base.php';
	pc_base::creat_app();
?>

這段代碼首先加載了 phpcms 框架的引導文件 base.php,然后它根據(jù)指定的配置文件建立了一個 Web 應(yīng)用實例并運行。

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);
……
?>

該文件為框架入口文件,包含實例化系統(tǒng)/模塊類方法,調(diào)用系統(tǒng)/模塊方法,系統(tǒng)常用常量等。如:

	pc_base::load_model(‘*_model’) 加載數(shù)據(jù)庫模型 pc_base::load_sys_class(‘classname’) 實例化系統(tǒng)類
	pc_base::load_app_class(‘classname’,’admin’) 實例化模塊類
	pc_base::load_sys_func (‘funcfile’) 調(diào)用系統(tǒng)函數(shù)庫

全局函數(shù)文件:

文件路徑:根目錄/phpcms/libs/functions/global.func.php 代碼片段如下:

<?php
	function new_addslashes($string){
	if(!is_array($string)) return addslashes($string);
	foreach($string as $key => $val) $string[$key] = new_addslashes($val);
	return $string;
	}
	……
?>

該文件中的函數(shù),為全系統(tǒng)基礎(chǔ)函數(shù),可以在系統(tǒng)中直接調(diào)用。

二次開發(fā)技巧:

如果需要增加自己的全局函數(shù),可根據(jù)需要增加到/phpcms/libs/functions/global.func.php/extention.func.php中,不會影響升級

數(shù)據(jù)模型基類:

文件路徑:根目錄/phpcms/libs/classes/model.class.php 代碼片段如下:

<?php
	pc_base::load_sys_class('db_factory', '', 0);
	class model {  //數(shù)據(jù)庫配置
	protected $db_config = ''; //數(shù)據(jù)庫連接
	protected $db = ''; //調(diào)用數(shù)據(jù)庫的配置項
	protected $db_setting = 'default'; //數(shù)據(jù)表名
	protected $table_name = ''; //表前綴
	public $db_tablepre = '';
	……
?>

加載數(shù)據(jù)模型后,可以的數(shù)據(jù)庫該類中方法進行數(shù)據(jù)庫操作。

表單調(diào)用類:

文件路徑:根目錄/phpcms/libs/classes/form.class.php。 代碼片段如下:

<?php
	class form {
	//編輯器調(diào)用
	public static function editor($textareaid = 'content', $toolbar = 'basic', $module = '', $catid = '', $color = '', $allowupload = 0, $allowbrowser = 1,$alowuploadexts = '',$height = 200,$disabled_page = 0) {
	} 
	//圖片上傳調(diào)用
	public static function images($name, $id = '', $value = '', $moudle='', $catid='', $size = 50, $class = '', $ext = '', $alowexts = '',$thumb_setting = array(),$watermark_setting = 0 ) {
	}
	……
?>

通過實例化該類可以,調(diào)用在程序中調(diào)用編輯器、表單上傳、日期選擇、欄目結(jié)構(gòu)等表單。 實例化方法:pc_base::load_sys_class('form', '', 0);

模板解析緩存類:

文件路徑:根目錄/phpcms/libs/classes/template_cache.class.php 。 代碼片段如下:

<?php
	final class template_cache {
	public function template_compile($module, $template, $style = ‘default’)     {
	$tplfile = $_tpl = PC_PATH.'templates'.DIRECTORY_SEPARATOR.$style.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.html'; 
	……
	?>

該類作用為解析模板,解析模板及更新模板緩存

PHPCMS V9 二次開發(fā)

PHPCMS URL訪問:

PHPCMS是采用MVC設(shè)計模式開發(fā),基于模塊和操作的方式進行訪問,采用單一入口模式進行項目部署和訪問,無論訪問任何一個模塊或者功能,只有一個統(tǒng)一的入口。

參數(shù)名稱 描述 位置 備注

  • M 模型/模塊名稱 phpcms/modules中模塊目錄名稱 必須
  • C 控制器名稱 phpcms/modules/模塊/*.php 文件名稱 必須
  • A 事件名稱 phpcms/modules/模塊/*.php 中方法名稱

模塊訪問方法[示例]:

二次開發(fā)命名規(guī)范

類文件需要以.class.php為后綴(這里是指的phpcms的系統(tǒng)類庫文件和模塊中的類庫文件,第三方引入的不做要求),例如http.class.php。

函數(shù)文件需要以.func.php為后綴(第三方引入的不做要求),例如mail.func.php。

類名和文件名一致,例如 phpcmsapp類的文件命名是phpcmsapp.class.php。

數(shù)據(jù)模型需要以“數(shù)據(jù)表名稱_model.class.php”為形式,類名稱與文件名必須相同。

二次開發(fā)開發(fā)流程

創(chuàng)建數(shù)據(jù)庫模型類

數(shù)據(jù)庫模型位于:phpcms/model/目錄下。

數(shù)據(jù)模型文件的命名規(guī)則建議為數(shù)據(jù)表名稱+'_model.class.php'

如果在我們的創(chuàng)建的模塊中我要使用一個數(shù)據(jù)庫“test”,首先需要建立一個數(shù)據(jù)庫模型文件,文件名稱為'test_model.class.php'

<?php
  defined('IN_PHPCMS') or exit('No permission resources.');
  pc_base::load_sys_class('model', '', 0);
  class test_model extends model {
    public function __construct() {
    $this->db_config = pc_base::load_config('database');
    $this->db_setting = ‘default'; 
    $this->table_name = 'test';
    parent::__construct();
  }
 }
?>

數(shù)據(jù)庫模型類名稱必須與文件名稱相同;

	$this->db_setting = 'default'為數(shù)據(jù)庫配置文件中配置數(shù)據(jù)庫鏈接池名稱,默認為default,一般情況下不需要修改。
	$this->table_name = ‘test’為數(shù)據(jù)表名稱

創(chuàng)建模塊

如果要創(chuàng)建一個模塊,只要在 phpcms/modules 目錄下創(chuàng)建文件夾并放入你的控制器類就可以了。

例如要開發(fā)一個叫做test的模塊,那么首先在phpcms/modules 目錄下創(chuàng)建文件夾,并將其命名為test。模塊的標準結(jié)構(gòu)通常是這樣的。

如果您的模板有單獨的前臺模板,你需要在phpcms/templates/default下創(chuàng)建一個您的模塊目錄來放置前臺模板,"default"為你的風格包名稱,我們默認適用default

訪問test模塊示例:http://www.yourname.com/index.php?m=test

創(chuàng)建模塊控制器類

為test模塊增加一個名為myest的控制器 文件路徑:根目錄/phpcms/modules/test/mytest.php。 代碼片段如下:

<?php
  defined('IN_PHPCMS') or exit('No permission resources.');
    class mytest {
      function __construct() {
      }
      public function init() {
        $var = 'hello world!';
        echo $myvar;
      }
      public function mylist() {
        $var = 'hello world!this is a example!';
        echo $myvar;
      }
  }
?>

常用操作列表(1)

1.調(diào)用數(shù)據(jù)庫模型

$this->db = pc_base::load_model('test_model');

其中$this->db中所支持的方法請參照phpcms/libs/classes/model.class.php中方法

2.加載系統(tǒng)類

$http = pc_base::load_sys_class('http'); //實例化http類
pc_base::load_sys_class('format', '', 0); //調(diào)用form類,不進行實例化操作3.加載系統(tǒng)函

3.加載系統(tǒng)函數(shù)庫

pc_base::load_sys_func('mail'); //調(diào)用mail函數(shù)包

4. 加載模塊類

$test = pc_base::load_sys_class(‘classname‘,’test’); //實例化test模塊下 classname類

5.加載模塊函數(shù)庫

pc_base::load_sys_func(‘global‘,’test’); //調(diào)用test模塊的global函數(shù)包

常用操作列表(2)

6.加載前臺模板

include template('test', 'mytest', 'default');

7.加載后臺模板

include $this->admin_tpl('mytest_admin_list');

8.權(quán)限控制

后臺控制控制器需要加載admin模塊下的admin類,并繼承該類

<?php
	defined('IN_PHPCMS') or exit('No permission resources.');
	pc_base::load_app_class('admin','admin',0);
	class mytest_admin extends admin { 
	//這個控制器需要登錄后臺才可以訪問 }
	?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1137778.htmlTechArticlePHPCMS二次開發(fā)教程(轉(zhuǎn)),phpcms二次開發(fā)教程 轉(zhuǎn)自:http://www.cnblogs.com/semcoding/p/3347600.html PHPCMS V9 結(jié)構(gòu)設(shè)計 根目錄 |–api 結(jié)構(gòu)文件目錄 |–...
? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
phpcms?? ???? ???? ???? ?? phpcms?? ???? ???? ???? ?? Jul 27, 2023 pm 05:23 PM

phpcms?? ???? ???? ???? ??: 1. ?? ??? ???? ?? ??? ?????. 2. ??? ??? ?????. 3. ???? ??? ???? ??? ??? ?????.

phpcms? ?? ????????? phpcms? ?? ????????? Apr 20, 2024 pm 10:51 PM

PHP CMS? ? ??? ??? ??? ?? PHP ?? ?? ?? ??? ?? ?????, ?? ???, ??? ??, ???, ?? ?? ? ?? ?? ??? ?????. ??? ????, ???? ??? ?????, ??? ????, ?? ??? ??? ? ???, ?? ????, ???, ?? ????, ????? ????, ???? ?? ? ??? ?????? ?? ???? ????.

phpcms? ?? ????? phpcms? ?? ????? Mar 01, 2023 am 10:24 AM

phpcms? ?? ??? ????. phpcms? ?? ?? cms ?????? ?? ??? ?? ??? ??? ??? ? ?? ??? ????. ????? ????, ???? ???? ?? ??? ???? ???.

WeChat ??? ?? ???: PHPCMS ?? ?? WeChat ??? ?? ???: PHPCMS ?? ?? Mar 29, 2024 am 09:18 AM

??: WeChat ??? ?? ???: PHPCMS? ?? ??? ??? ??? ?? ???? ????? ?? ?? ? ??? ?????. ???? ?? ?? ?? ?? ??? ? ??? WeChat? ??? ??? ?? ? ?? ??????? ???? ????. ? ????? WeChat ??? ??? PHPCMS ????? ???? ??? ???? ???? ?? ??? ?????. 1??: WeChat Open Platform ?? ?? ?? WeChat Open Platform? ??? ??? ???? ?? ?? ??? ???? ???. ??? [?? ?? ???]

PHPCMS ??? ?? ?? ?? ?? ?? PHPCMS ??? ?? ?? ?? ?? ?? Mar 14, 2024 pm 12:06 PM

PHPCMS ??? ?? ?? ?? ?? ?? ? ??? ???? ??? ?? ??? ?? ???? ?? ???? ???? ???????. ??? ??? ?? ??? ?????. ??? ??? ???? ??? ?? ??? ?? ??? ???? ?? ??? ???? ?? ??? ??? ?? ?? ?????. ? ????? PHPCMS? ??? ?? ?? ?? ??? ???? ???? ??? ? ?? ???? ?? ??? ?????. 1. ???? ??? ??? ???? ?? ???? ??? ??? ??? ??? ???? ???.

phpcms? ?? ????? phpcms? ?? ????? Apr 20, 2024 pm 10:39 PM

PHPCMS? ?? ??, ???, ???, ??? ??? ? ???? ??? ?? ?? ?? ?? ??? ?? ???(CMS)???. ?? ????, ????? ????, ???, ???? ?? ? ??? ??? ????? ??? ? ??? ? ????. ?? ?? ???? PHP 5.6 ??, MySQL, MariaDB ?? PostgreSQL ??????, Apache ?? Nginx ? ??? ?????.

phpcms?? ?? ??? ???? phpcms?? ?? ??? ???? Jun 14, 2023 pm 01:13 PM

phpcms?? ? ?? ? ??? ??? ????. 1. ??? ?? URL ??? ???? phpCMS4 ???? ?? ??? ???? ???? ??? ??? ???? ??? ? ?? ?? ????? ????? ????. . ???, ?? ??? ??, ??? ??? ???? phpCMS2008R1 ???? ???? ???? ?? ??? ??? ?????.

phpcms? ?? ??????? ?????? phpcms? ?? ??????? ?????? Feb 21, 2023 pm 06:57 PM

phpcms? mysql ??????? ?????. phpcms? PHP+MYSQL? ?? ???? ???? ??? PHP ?? ?? ???? ?? ??????. PHPCMS V9? OOP ??? ???? ?? ?? ?????? ?????. ???? PHP ??? PHP5 ??, ???? MYSQL ??? MySql 4.1 ?????.

See all articles