Thinkphp是一個體系較為完整的框架,很多地方比國外的框架功能都全,唯一不喜之處是性能,和傳說中的.NET有點像。
Thinkphp提供較全url處理體系,通過同一規則實現Url的路由和Url生成,Url的生成是通過U('',[])函數獲取的。當我在一個Thinkphp中建立兩個Application時,其中一個是子目錄,發現U()函數獲取的Url只能指向的根目錄,這使我很惱火,網上找不到合適的方法,經查看U函數源碼得到了一個答案!
Thinkphp的App目錄是通過使用__APP__預編譯常量定義的,其賦值在於入口文件的與站點根目錄的相對目錄計算的。在Thinkphp中,APP的入口目錄的設置有兩種方法:
1、通過Thinkphp自動計算 把入口文件放在自己Application目錄下,通過U()函數獲取時,Thinkphp會自動在你指定的Controller/Action前面加上Application目錄Url前綴。優點自動化,符合Think的設計標准,缺點:缺少靈活。
2、手動設置APP所在目錄
在入口文件中定義常量:“__APP__”,指定URL前綴,這樣的話,你可以任意設定App前綴如:
define('__APP__','/ralis_folder');