成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

php7后端數(shù)據(jù)模型 php后端接口怎么寫

php中,如果要操作多個(gè)表,模型如何寫

這時(shí)候最好不要在數(shù)據(jù)模型上操作,而是在邏輯模型上操作。

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括東西湖網(wǎng)站建設(shè)、東西湖網(wǎng)站制作、東西湖網(wǎng)頁制作以及東西湖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,東西湖網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到東西湖省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

也就是說,數(shù)據(jù)模型(Data Model)任然是一個(gè)模型對應(yīng)一張表。而在數(shù)據(jù)模型和控制器間,再插入一個(gè)邏輯模型(Logic Model),通過邏輯模型(邏輯模型操作多個(gè)數(shù)據(jù)模型)完成一些邏輯操作(如下單等等)。

這樣能保證整體架構(gòu)的清晰。

php后臺(tái)管理系統(tǒng)有哪些?

國內(nèi)的php后臺(tái)管理系統(tǒng)應(yīng)該主要就是基于thinkphp開發(fā)的,其中有thinkcms,F(xiàn)astAdmin,TP6-Admin基于微信管理后臺(tái)的MoChat。

這些都是比較新的php管理系統(tǒng),還有基于laravel的管理系統(tǒng)laravel-admin。

在phpcms后臺(tái)怎么增加模塊

【1】創(chuàng)建模塊目錄

通過前面的學(xué)習(xí),我們已經(jīng)知道phpcms V9框架中的模塊位于phcms/modules目錄中,每一個(gè)目錄稱之為一個(gè)模塊。

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

例如我要開發(fā)一個(gè)叫做test的模塊,那么首先在 phpcms/modules 目錄下創(chuàng)建文件夾,并將其命名為test。

觀察其他模塊的結(jié)構(gòu),可知test模塊的標(biāo)準(zhǔn)結(jié)構(gòu)通常應(yīng)該也是這樣的:

classes 為模塊類庫包

functions 為模塊函數(shù)庫包

templates 為模塊模板包,通常放置含有權(quán)限控制的控制器模板,也就是后臺(tái)模板。

如果你的模板有自定義的前臺(tái)模板,你需要在phpcms\templates\default目錄下創(chuàng)建一個(gè)你的模塊名目錄來放置前臺(tái)模板,“default”為你的風(fēng)格包名稱,我們默認(rèn)是用default。

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

上一步,我們已經(jīng)創(chuàng)建好了一個(gè)名為test的模塊,接下來我們繼續(xù)為這個(gè)模塊添加兩個(gè)控制器類。

phpcms V9 的控制器就是模塊的類文件,位于phpcms/modules/模塊名/目錄下面。類文件名稱就是控制器名+.php,例如一個(gè)名為mytest的控制器,那么它的命名為mytest.php即可。控制器類默認(rèn)繼承系統(tǒng)的函數(shù)庫,可以直接使用。

控制器類的類名稱與控制器文件名必須相同。

控制器類文件包含兩種形式:

1.前臺(tái)瀏覽(不含權(quán)限控制),mytest.php 控制器

在phpcms/modules/test 目錄下,新建文本文件,命名為mytest,修改文件類型為php, 用Notepad++打開編輯內(nèi)容為:

1 ?php

2 defined('IN_PHPCMS') or exit('No permission resources.');

3 class mytest

4 {

5 function __construct(){}

6 public function init()

7 {

8 $myvar = 'hello world!';

9 echo $myvar;

10 }

11 public function mylist()

12 {

13 $myvar = 'hello world! This is an example!';

14 echo $myvar;

15 }

16 }

17 ?

其實(shí),這個(gè)控制器的URL訪問方法前面已經(jīng)介紹過,請參見《phpcms V9 MVC模式與URL訪問解析》

;c=mytest等價(jià)于

;c=mytesta=init。

沒有填寫“a”值的情況下,默認(rèn)調(diào)用init方法。

為什么這樣子?請把《phpcms V9 MVC模式與URL訪問解析》再讀一遍。

2.后臺(tái)管理(含權(quán)限控制),mytest_admin.php 控制器

后臺(tái)控制器需要加載admin模塊下的admin類,并繼承該類。需要注意的是因?yàn)樘砑拥目刂破黝惱^承了其它的類,要小心控制器類的方法名不要和該類中的方法名一樣了,否則會(huì)造成影響,具體請查看admin類中有哪些方法。

在phpcms/modules/test 目錄下,新建文本文件,命名為mytest_admin,修改文件類型為php, 用Notepad++打開編輯內(nèi)容為:

1 ?php

2 defined('IN_PHPCMS') or exit('No permission resources.');

3 pc_base::load_app_class('admin','admin',0);

4 class mytest_admin extends admin

5 {

6 public function __construct() {}

7 public function init()

8 {

9 $myvar = 'oh,i am phpcmser';

10 echo $myvar;

11 }

12 }

13 ?

在控制器中增加模板調(diào)用

phpcms 可以實(shí)現(xiàn)完全的模板與程序分離,所以在我們的控制器程序中要加載模板,才可以更友好的顯示出來。

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

前臺(tái)模板文件在phpcms\templates\default\模塊名稱的目錄中,本示例也就在phpcms\templates\default\test中。

加載模板方法如下:

1 // 加載模板方法:

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

其中,test為模塊名稱,mytest為模板目錄下模板名稱,default為風(fēng)格名稱,默認(rèn)為default。

在上面例子中如果要給mytest.php中init方法加載一個(gè)mytest的模板(可以拷貝content模塊下的index.html作為替代),如下(所以模板名稱為index):

1 public function init()

2 {

3 $myvar = 'hello world!';

4 echo $myvar;

5 include template('test', 'index');

6 }

這時(shí),當(dāng)我們再通過URL訪問該方法的時(shí)候也就加載了對應(yīng)的模板。

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

后臺(tái)模板文件在phpcms\modules\模塊名稱\templates 目錄中,本示例也就在phpcms\modules\test\templates中

加載模板方法如下:

// 加載模板方法:

include $this-admin_tpl('mytest_admin_list');

其中mytest_admin_list為phpcms\modules\test\templates中mytest_admin_list.tpl.php。

注意:此處模板必須以.tpl.php 作為后綴

在上面例子中如果要給mytest_admin.php中init方法加載一個(gè)mytest_admin_list的模板,如下:

1 public function init()

2 {

3 $myvar = 'oh,i am phpcmser';

4 echo $myvar;

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

6 }

加載模板部分內(nèi)容也可以參見系統(tǒng)框架源碼content模塊 phpcms\modules\content content.php文件的實(shí)現(xiàn)。

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

至此,已經(jīng)明確,各模塊的數(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'

內(nèi)容如下:

1 ?php

2 defined('IN_PHPCMS') or exit('No permission resources.');

3 pc_base::load_sys_class('model', '', 0);

4 class test_model extends model

5 {

6 public function __construct()

7 {

8 $this-db_config = pc_base::load_config('database');

9 $this-db_setting = 'default';

10 $this-table_name = 'test';

11 parent::__construct();

12 }

13 }

14 ?

書寫數(shù)據(jù)庫模型類注意一下幾點(diǎn):

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

2. 必須繼承與數(shù)據(jù)庫模型基類model。

3. $this-db_setting = 'default'為數(shù)據(jù)庫配置文件中配置數(shù)據(jù)庫鏈接池名稱,默認(rèn)為default,一般情況下不需要修改。

4. $this-table_name = 'test'為數(shù)據(jù)表名稱。

這樣我們就建立好一個(gè)數(shù)據(jù)庫模型類。那么,怎么使用呢?

在模塊的控制器中使用(加載方式):

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

具體如下:

1 ?php

2 defined('IN_PHPCMS') or exit('No permission resources.');

3 class mytest

4 {

5 private $db;

6 function __construct()

7 {

8 $this-db = pc_base::load_model('test_model'); // 加載數(shù)據(jù)庫模型

9 }

10 public function init()

11 {

12 $myvar = 'hello world!';

13 echo $myvar;

14 include template('test', 'index');

15 $result = $this-db-select(); // 調(diào)用select方法

16 var_dump($result);

17 }

18 public function mylist()

19 {

20 $myvar = 'hello world! This is an example!';

21 echo $myvar;

22 }

23 }

24 ?

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

phpcms數(shù)據(jù)模型中自定義的字段怎么調(diào)用

推薦位調(diào)用自定義字段

在模型里加好自定義字段后,必須把“在推薦位標(biāo)簽中調(diào)用”點(diǎn)擊“是“

然后用同一樣的方法去調(diào)節(jié)數(shù)據(jù)就OK了,記住,如果你加了文章,必須去更新文章才會(huì)顯示,自定義段在推薦中只顯示你選擇后,選擇前加的加文章不顯示,更新一下文章就顯示了!

當(dāng)前名稱:php7后端數(shù)據(jù)模型 php后端接口怎么寫
URL分享:http://jinyejixie.com/article36/dosgpsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、手機(jī)網(wǎng)站建設(shè)、微信小程序、用戶體驗(yàn)移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營
蓝田县| 湖北省| 从江县| 宜章县| 赞皇县| 石门县| 筠连县| 永仁县| 巧家县| 灵石县| 昌黎县| 皋兰县| 陇西县| 甘孜县| 宣城市| 巴林右旗| 上高县| 方山县| 宁远县| 拜泉县| 苏州市| 汉阴县| 明水县| 吐鲁番市| 祁东县| 衡水市| 洪江市| 沙田区| 公安县| 乌恰县| 临江市| 开平市| 唐山市| 富锦市| 荣昌县| 仁寿县| 禄丰县| 运城市| 鹤岗市| 和顺县| 峨边|