如何找到要修改的文件

2019-04-02 10:54 更新

要想對(duì)然之進(jìn)行修改,就必須知道對(duì)應(yīng)的代碼在什么地方。在了解了然之的目錄結(jié)構(gòu)之后,我們來看下然之的請(qǐng)求是如何對(duì)應(yīng)到代碼的。

一、control方法的定位

control方法是每一個(gè)頁面的入口,順藤摸瓜,讓我們先來看個(gè)例子: crm/ order-browse-assignedTo.html 或者是crm/index.php?m=order&f=browse&mode=assignedTo。這里面有什么玄機(jī)呢?讓我們來揭曉。

crm/ order-browse- assignedTo.html,表示是訪問 crm應(yīng)用 order這個(gè)模塊的 browse方法,傳遞的第一個(gè)參數(shù)為assignedTo,訪問的頁面類型是 html。同樣, crm/index.php?m=order&f=browse&mode=assignedTo, crm代表應(yīng)用名 ,m代表了模塊名稱, f代表了方法名稱,后面的則是參數(shù)列表。那么我們就可以對(duì)應(yīng)然之的源代碼,app/crm/order/control.php中的browse方法: 

二、control方法里面的調(diào)用

ok,我們現(xiàn)在已經(jīng)知道了入口的函數(shù)在什么地方,我們來跟到里面看看吧。

$this->order, 表示的是調(diào)用order模塊的model對(duì)象,那么它對(duì)應(yīng)的文件在什么地方呢?聰明的你,應(yīng)該已經(jīng)猜到了吧。在app/crm/order/model.phpthis->loadmoel('order', 'crm')->xxx,表示加載crm應(yīng)用order模塊的model對(duì)象,它對(duì)應(yīng)的文件在app/crm/order/model.php$this->app->loadClass('pager'),表示加載一個(gè)lib類,它對(duì)應(yīng)的文件則在lib/pager/pager.class.php$this->lang->order->xxx,它的定義在app/crm/order/lang/zh-cn.php。后面的zh-cn根據(jù)當(dāng)前用戶的語言而定。

后來看模塊文件。$this->display()之后,調(diào)用的是view目錄下面和當(dāng)前方法同名的模板文件。比如order的browse方法,它對(duì)應(yīng)的模板文件是app/order/view/browse.html.php

三、應(yīng)用

然之a(chǎn)pp目錄下的幾個(gè)目錄分別對(duì)應(yīng)CRM、OA、CASH、TEAM應(yīng)用,sys下是公用模塊。



以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)