如何找到要修改的文件

2019-04-02 10:54 更新

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

一、control方法的定位

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

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

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

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

$this->order, 表示的是調(diào)用order模塊的model對象,那么它對應(yīng)的文件在什么地方呢?聰明的你,應(yīng)該已經(jīng)猜到了吧。在app/crm/order/model.phpthis->loadmoel('order', 'crm')->xxx,表示加載crm應(yīng)用order模塊的model對象,它對應(yīng)的文件在app/crm/order/model.php$this->app->loadClass('pager'),表示加載一個lib類,它對應(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方法,它對應(yīng)的模板文件是app/order/view/browse.html.php

三、應(yīng)用

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



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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號