通過URL訪問php對應的類中的方法

2021-09-11 08:44:00 字數 1216 閱讀 4852

主要是乙個小專案,沒必要使用框架,就簡單處理了使用乙個檔案類呼叫多個方法,避免重複建立php檔案去實現這些類方法的問題,寫好了還是記錄一下,方便日後繼續使用: 

pathinfo模式 ,例如:index.php/job/get_list?a=1&b=2&c=3 

通過這個uri可以訪問到 job.php中 job類的getlist()方法,其中傳入了引數[『a』=>』1』,』b』=>』2』,』c』=>』3』] 

單一入口應用程式的所有http請求都是通過某乙個檔案(比如index.php)接收並由這個檔案**到功能**中去。

單一入口應用程式優勢:可以對url引數和post進行必要的檢查和特殊字元過濾、記錄日誌、訪問統計等等各種可以集中處理的任務,類似如一些許可權控制、使用者登入方面的判斷和操作可以統一處理了。

由於這些工作都被集中到了單入口檔案(index.php)來完成,可以減輕我們維護其他功能**的難度。

比如你訪問**,

這個index.php就是單入口檔案,訪問任何頁面都是在index.php後面加引數,比如登入頁:

?m=login

優點就是比較方便管理,可以配置一些統一的設定,比如安全性檢查,訪問統計什麼的。

缺點的話,url不好看吧...最好做一下重寫

<?php

/** * created by phpstorm.

* user: zheng

* date: 2018/7/12

* time: 10:32

*/try

$methodnamearr = explode('_',$methodname);

$method = '';

foreach ($methodnamearr as $key=>$value)else

}//獲取查詢引數

$params = $_get;

$filedir = $classname.'.php';

include_once $filedir;

$classobj = new $classname();

$data = $classobj->$method($params);

exit($data);

}catch (\exception $e)

注意使用的apche或者nginx要支援pathinfo模式。 

(其他:對資料庫的封裝使用的是medoo,這個類非常小,就20kb左右,使用起來也很方便。)

通過URL訪問php對應的類中的方法

主要是乙個小專案,沒必要使用框架,就簡單處理了使用乙個檔案類呼叫多個方法,避免重複建立php檔案去實現這些類方法的問題,寫好了還是記錄一下,方便日後繼續使用 pathinfo模式 例如 index.php job get list?a 1 b 2 c 3 通過這個uri可以訪問到 job.php中 ...

drupal如何通過URL查詢對應的程式

drupal的hook menu可以定製module的入口path,但drupal並不是每次訪問都去搜尋所有menu hook,而是會先把path記到資料庫,以後訪問乙個path時,drupal都會搜尋資料庫得到對應的module。所以要找到乙個path是屬於那個module,可以搜尋一下menu ...

PHP中 類的訪問控制

在php中主要通過public protectd private等關鍵字來定義訪問許可權。public 被public修飾的屬性和方法,可以在程式中任何位置被訪問,而且可以被子類繼承。php中,類方法的訪問許可權預設都是public。protected 被protected修飾的屬性和方法,可以在所...