我有一個class,class的名字叫get_user_info,這個class裡有很多function,我應該把這個class放在哪裡,才能在Controller中調用到這個class裡的function? 比如在List這個Controller中。
其實,只有一個問題,能不能放在Common檔案夾下面?
回複內容:
我有一個class,class的名字叫get_user_info,這個class裡有很多function,我應該把這個class放在哪裡,才能在Controller中調用到這個class裡的function? 比如在List這個Controller中。
其實,只有一個問題,能不能放在Common檔案夾下面?
/ThinkPHP/Library/Org下建個自己的目錄;扔裡面寫好命名空間即可;
好吧;我拿項目舉個例子;
以分頁來說;
樣本項目:http://git.oschina.net/shuaibai123/thinkbjy
分頁類:http://git.oschina.net/shuaibai123/thinkbjy/blob/master/ThinkPHP/Library/Org/Bjy/Page.class.php
調用分頁類第159行:http://git.oschina.net/shuaibai123/thinkbjy/blob/master/Application/Common/Model/ArticleModel.class.php
首先是要定義分頁類的命名空間:namespace OrgBjy;
然後調用這個分頁類的時候就是:$page=new OrgBjyPage($count,$limit);
你要使用的方式同理;自己可以定義一個目錄;定義好命名空間;使用的時候;對應好命名空間執行個體化就可以了;
再或者以官方的String類來講解:/ThinkPHP/Library/Org/Util/String.class.php
這裡面有一些用來處理字串的方法;比如說擷取隨機數、字串截取等;你可以查看官方的原始碼來理解;
類名有點奇怪,看著挺像一個模型的,是先有的模型類,再有的thinkphp項目?
如果是和我說的一致,感覺有3個辦法
重構一次代碼,符合thinkphp的model規範
看下官方的類庫擴充,看看是否可以整合進來,因為你這可能還牽涉到資料庫操作,具體就要看你如何調試了
最壞的打算就如 KingzChenung 所說include也可以
get_user_info這個是類的名字還是方法的名字,目前看著好像是方法的名字啊,如果是類的話就可以根據命名空間區分出來一個utils這樣的命名空間來存放這個類,具體的要看你的命名空間根目錄是怎樣了
可以在controller同級目錄建立自訂目錄,類改命名空間,然後就能引用。其實在其他地方也是隨便你的,大不了自己include,最多不符合架構規範而已。
作為第三方外掛程式引入呢