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

目錄
PHPCMS二次開發(fā)教程(轉(zhuǎn)),phpcms二次開發(fā)教程
首頁 后端開發(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è)計(jì)

根目錄
|–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目錄中 每一個(gè)目錄稱之為一個(gè)模塊。即url訪問中的m。

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

控制器:

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

二次開發(fā)技巧

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

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

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

這樣當(dāng)您通過url訪問index控制器的時(shí)候,系統(tǒng)會(huì)默認(rèn)指向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è)計(jì)模式開發(fā),基于模塊和操作的方式進(jìn)行訪問,采用單一入口模式進(jìn)行項(xiàng)目部署和訪問,無論訪問任何一個(gè)模塊或者功能,只有一個(gè)統(tǒng)一的入口。

入口程序是在前期處理用戶請(qǐng)求的引導(dǎo)程序。它是唯一一個(gè)可以被最終用戶可以直接請(qǐng)求運(yùn)行的。

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

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

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

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ù)庫模型 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ù)庫

全局函數(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中,不會(huì)影響升級(jí)

數(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ù)庫的配置項(xiàng)
	protected $db_setting = 'default'; //數(shù)據(jù)表名
	protected $table_name = ''; //表前綴
	public $db_tablepre = '';
	……
?>

加載數(shù)據(jù)模型后,可以的數(shù)據(jù)庫該類中方法進(jìn)行數(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 ) {
	}
	……
?>

通過實(shí)例化該類可以,調(diào)用在程序中調(diào)用編輯器、表單上傳、日期選擇、欄目結(jié)構(gòu)等表單。 實(shí)例化方法: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è)計(jì)模式開發(fā),基于模塊和操作的方式進(jìn)行訪問,采用單一入口模式進(jìn)行項(xiàng)目部署和訪問,無論訪問任何一個(gè)模塊或者功能,只有一個(gè)統(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)建的模塊中我要使用一個(gè)數(shù)據(jù)庫“test”,首先需要建立一個(gè)數(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ù)庫鏈接池名稱,默認(rèn)為default,一般情況下不需要修改。
	$this->table_name = ‘test’為數(shù)據(jù)表名稱

創(chuàng)建模塊

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

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

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

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

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

為test模塊增加一個(gè)名為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中所支持的方法請(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ù)庫

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

4. 加載模塊類

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

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

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

常用操作列表(2)

6.加載前臺(tái)模板

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

7.加載后臺(tái)模板

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

8.權(quán)限控制

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

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

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è)計(jì) 根目錄 |–api 結(jié)構(gòu)文件目錄 |–...
本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

phpcms怎么跳轉(zhuǎn)到詳情頁 phpcms怎么跳轉(zhuǎn)到詳情頁 Jul 27, 2023 pm 05:23 PM

phpcms跳轉(zhuǎn)到詳情頁方法:1、使用header函數(shù)來生成跳轉(zhuǎn)鏈接;2、循環(huán)遍歷內(nèi)容列表;3、獲取內(nèi)容的標(biāo)題和詳情頁鏈接;4、生成跳轉(zhuǎn)鏈接即可。

phpcms是什么框架 phpcms是什么框架 Apr 20, 2024 pm 10:51 PM

PHP CMS 是一種基于 PHP 的開源內(nèi)容管理系統(tǒng),用于管理網(wǎng)站內(nèi)容,其特點(diǎn)包括易用性、強(qiáng)大功能、可擴(kuò)展性、安全性高和免費(fèi)開源。它可以節(jié)省時(shí)間、提升網(wǎng)站質(zhì)量、增強(qiáng)協(xié)作并降低開發(fā)成本,廣泛應(yīng)用于新聞網(wǎng)站、博客、企業(yè)網(wǎng)站、電子商務(wù)網(wǎng)站和社區(qū)論壇等各種網(wǎng)站。

微信登錄集成指南:PHPCMS實(shí)戰(zhàn) 微信登錄集成指南:PHPCMS實(shí)戰(zhàn) Mar 29, 2024 am 09:18 AM

標(biāo)題:微信登錄集成指南:PHPCMS實(shí)戰(zhàn)在今天的互聯(lián)網(wǎng)時(shí)代,社交化登錄已經(jīng)成為網(wǎng)站必備的功能之一。微信作為國內(nèi)最流行的社交平臺(tái)之一,其登錄功能也被越來越多的網(wǎng)站所采用。本文將介紹如何在PHPCMS網(wǎng)站中集成微信登錄功能,并提供具體的代碼示例。第一步:注冊(cè)微信開放平臺(tái)賬號(hào)首先,我們需要在微信開放平臺(tái)上注冊(cè)一個(gè)開發(fā)者賬號(hào),申請(qǐng)相應(yīng)的開發(fā)權(quán)限。登錄[微信開放平臺(tái)]

phpcms不是免費(fèi)嗎 phpcms不是免費(fèi)嗎 Mar 01, 2023 am 10:24 AM

phpcms不是完全免費(fèi)的。phpcms屬于開源cms系統(tǒng),但是開源并不等于免費(fèi),它有兩個(gè)版本:免費(fèi)版和商業(yè)版,免費(fèi)版僅限于個(gè)人非商業(yè)用途,而商業(yè)版需要購買授權(quán);個(gè)人可以作為研究使用,如果商業(yè)應(yīng)用,需要支付一定費(fèi)用。

PHPCMS用戶名安全設(shè)置策略大揭秘 PHPCMS用戶名安全設(shè)置策略大揭秘 Mar 14, 2024 pm 12:06 PM

PHPCMS用戶名安全設(shè)置策略大揭秘在網(wǎng)站開發(fā)中,用戶賬戶安全一直是開發(fā)者們十分重視的一個(gè)方面。而用戶名的安全設(shè)置也是至關(guān)重要的,因?yàn)橛脩裘粌H僅是用戶登錄的憑證,還可能暴露用戶的個(gè)人信息,甚至造成安全隱患。本文將揭秘PHPCMS中的用戶名安全設(shè)置策略,并給出具體的代碼示例供開發(fā)者參考。1.防止常見用戶名為了提高用戶名的安全性,開發(fā)者們應(yīng)該避免用戶使用過于

phpcms是什么意思 phpcms是什么意思 Apr 20, 2024 pm 10:39 PM

PHPCMS 是一款免費(fèi)開源的內(nèi)容管理系統(tǒng) (CMS),特點(diǎn)包括:開放源碼、模塊化、靈活、用戶友好和社區(qū)支持。它可用于創(chuàng)建各種類型的網(wǎng)站,包括企業(yè)網(wǎng)站、電子商務(wù)網(wǎng)站、博客和社區(qū)論壇。技術(shù)要求包括:PHP 5.6 或更高版本、MySQL、MariaDB 或 PostgreSQL 數(shù)據(jù)庫以及 Apache 或 Nginx Web 服務(wù)器。

phpcms有哪些版本 phpcms有哪些版本 Jun 14, 2023 pm 01:13 PM

phpcms有兩個(gè)版本比較知名,分別是:1、phpCMS4,支持自定義 URL 規(guī)則,網(wǎng)站管理后臺(tái)美觀易用,前端插件許多,可自由擴(kuò)展功能;2、phpCMS2008R1,支持多語言、多站點(diǎn)管理,頁面管理器便捷靈活方便,非常輕量級(jí),運(yùn)行速度快。

phpcms用什么數(shù)據(jù)庫 phpcms用什么數(shù)據(jù)庫 Feb 21, 2023 pm 06:57 PM

phpcms用mysql數(shù)據(jù)庫。phpcms是一個(gè)PHP開源網(wǎng)站管理系統(tǒng),采用PHP MYSQL做為技術(shù)基礎(chǔ)進(jìn)行開發(fā)。PHPCMS V9采用OOP方式進(jìn)行基礎(chǔ)運(yùn)行框架搭建,支持的PHP版本是PHP5及以上、支持的MYSQL版本是MySql 4.1以上版本。

See all articles