程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Thinkphp入門 二 (46),thinkphp入門46

Thinkphp入門 二 (46),thinkphp入門46

編輯:關於PHP編程

Thinkphp入門 二 (46),thinkphp入門46


【空操作處理】

看下列圖:

  用戶訪問一個不存在的操作—》解決:給每個控制器都定義個_empty()方法來處理

  第二個解決方法:定義一個空操作

【空模塊處理】

我們使用一個類,但是現在這個類還沒有被include進來。

我們可以通過自動加載機制處理__autoload(),如果這個自動加載機制也沒有找到這個類,就會報錯。

即是請求一個空模塊

  解決一:定義一個空的控制器、空模塊

  解決方法二:

【給應用增加函數庫文件】

在Common文件夾裡面,便是放入我們函數庫文件的地方

【模塊分組】

  1. 控制器進行分組設置

  2. 視圖模板需要分組

  3. 配置變量需要分組

  4. 做配置config.php

【前置操作、後置操作】

控制器裡邊的方法在被調用的時候,在調用之前、或調用之後可以做一些額外的工作,就稱之為前置操作、後置操作

當我們請求這個網址:http://網址/index.php/Admin/Goods/zhanshi,在方法存在的情況下,這個動作在哪發生的,App.class.php  的exec()方法裡邊

  一個類裡邊有許多方法,都需要前置和後置操作,應該如何解決?

解決:

【跨模塊調用】

實例化一個不存在的類,會通過__autoload()自動加載機制。

tp框架的__autoload()在哪?在Think.class.php

通過A()方法實例化控制器對象

  A(‘模塊控制器’)   例如:A(‘Goods’)

  A(‘分組/控制器’)   例如:A(‘home/Ucenter’);

  A(‘項目://分組/控制器’)  例如:A(‘shop://home/Ucenter’);

    A()方法裡邊有嵌套調用import()方法,該方法幫助我們獲得對應的控制器其,並require引入。A()方法順便直接new 實例化對象

 

R(“項目://分組/控制器/操作”)方法

  是把控制器的引入、實例化對象、方法的調用都給繼承好了。

  R(‘模塊控制器/操作’)   例如:A(‘Goods’)

  R(‘分組/控制器/操作’)   例如:A(‘home/Ucenter/members’);

  R(‘項目://分組/控制器/操作’)  例如:A(‘shop://home/Ucenter/members’);

 

R()方法裡邊調用A()方法

A()方法裡邊調用import()方法

  A()方法使用

  R()方法使用

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved