『壹』 php的tp框架和mvc有啥區別
首先說Model吧。
在TP中是一個表對應一個Model,而且普通Model中只是一些自動驗證啊,自動完成啊、還有數據欄位信息啊一些東西;而CI中的Model則完全不同,一個Model不必約束於一個表,也就是說名字為abc的Model中你也可以查詢名字為def的表中的數據,而且可以定義方法完成一些數據查詢,比如我可以在名為articles_model的Model中定義一個名字為get_articles的方法來獲取所有文章信息,當某個Controller載入了這個Model後,就可以在相應的Controller中用
1
$this->articles_model->get_articles();
來方便地獲取所有文章信息,而對於TP來說,這些操作只能在Action類中完成。2.0版的TP已經把View、Relation和Adv三個高級查詢model庫類定為不自動載入了,看了一下手冊,感覺除了View視圖查詢容易用一點,另外兩個都不怎麼好用,感覺用起來太復雜,還不如用原生的SQL查詢。CI的Model還有一個使我很喜歡的方法就是dbprefix方法,在使用原生的sql查詢時使用這個函數使得修改資料庫表名前綴後你的代碼不需要經過任何改動。在TP中我沒有發現類似的函數,當我用TP開發一個博客系統時,發現關聯查詢很麻煩,於是想用原生的SQL查詢,卻沒有找到自動增加資料庫表名前綴的方法,雖然可以自己修改TP的核心庫來實現,但是還是覺得這樣有點不太好。真的要感謝TP,如果不是TP,也許我就不會去關注CI了,當我那天看了幾頁CI的英文文檔後,立馬就對它產生的深厚的興趣,於是第二天一起床就開始看CI的手冊,雖然是從官網下的英文版的,不過它的手冊寫得很簡潔、很周到,邊看邊操作,看完手冊後我就幾乎能熟練使用這個框架了。於是用它開發了一個博客系統。
CI的Model類簡單易用,TP的Model類功能相對來說要強大一些,但是用起來個人感覺沒有那麼方便。
其次,對於View,從功能上講,TP的View要更加強大一些,選擇更多一些,在TP中你可以選擇就用PHP作模板引擎,可以就用TP自身的模板引擎,也可以選擇用smarty等其它第三方模板引擎。而在CI中就只能用CI內置的功能簡單的模板引擎或者用原生的PHP代碼作模板,個人覺得用PHP作模板更好一些,一來省去了學習另外的模板引擎語法的麻煩,二來執行效率更高一些。因些從View來講,選擇CI或者是TP都無所謂。
再次是Controller了,在CI中的應用的控制器是繼承自核心類Controller的,TP中的控制器則是繼承於核心類Action。不過還是有不同的,在TP中,你可以把一些公共的變數或者在多個控制器中都要執行的東西放在一個action里,假如這個action文件為CommonAction.class.php ,在它的_initialize方法中可以執行一些在多個控制器中都要執行的代碼或者初始化一些多個控制器都要使用的變數,這樣,應用的其它action只要繼承CommonAction 就可以實現了。因為框架在載入相應action時首先會自動載入那個CommonAction的。而在CI中就沒有這個方便的功能了,但是也可以自己寫一個library,在該library類的__construct方法里放一些代碼,然後在每個控制器中都載入這個library,這樣也可以實現像TP一樣的功能。不過相對來說麻煩了一些。TP還有一點比較靈活的就是,在這個控制器(action)裡面可以執行那個控制器中的函數(比如用A或者R函數來實現),在CI中則不行,你不能在這個控制器中執行那個控制器中的函數。還有就是TP可以定義一個名為EmptyAction的控制器,當所有控制器都找不到時,就調用這個Empty控制器。這一點如果與empty方法配合,可以使得URL大大縮減。雖然CI和TP都支持空操作,不過這二者的空操作名稱不相同,實現的優先順序也不相同。在TP中的空操作(_empty方法)優先順序是最低的,也就是說當當前控制器的所有操作都找不到時才調用這個空操作;在CI中則恰恰相反,只要存在空操作(_remap方法),該控制器的其它的操作都沒用了(不能訪問了)。
『貳』 phpstudy怎麼運行tp框架
安裝好phpstudy後,運行軟體.
首先將 tp 的程序放到一個目錄 web_thinkphp (可自定義)
打開phpStudy面版
右邊有一個php版本,選擇好tp所需要的版本(tp3.2先5.3~5.4即可,tp5可選 5.5+)
在 其它選項菜單 -> 打開hosts -> 添加一行域名
127.0.0.1tp.me
保存(如果沒有修改許可權,可以在桌面上建一個文件 hosts 加入上面一行代碼後再覆蓋到 hosts 所在的目錄)
在 其它選項菜單 -> 站點域名管理 ->
域名:tp.me
路徑: 指向web_thinkphp
第二域名:空
埠:80
[新增] -> 保存並生成配置文件
然後 瀏覽器中輸入 tp.me 就運行 tp 了
『叄』 php tp3.0框架裡面的U方法怎麼用
u方法是一個自定義數據模型後用來調取資料庫表名的方法,你使用和M一樣,區別就在於M只調用系統Model,而U是調用你定義的Model;;;
『肆』 thinkphp模版怎麼使用PHP函數
/*tp模板中兩種常用寫法*/
{參數1|函數=參數2,參數3}//適用模板函數和部分自封裝函數(如date())
{:函數(參數1,參數2,參數3)}//適用所有php函數及tp函數(如tp助手函數:url())
『伍』 phptp框架怎麼使用
首先是搭建環境:
將解壓後的文件放到你的站點下面。
訪問一下localhost,在application文件夾下回自動生成home(前台)等文件夾,你復制一份,改成admin(後台)。
使用的話就是在admin與home文件下的concroller、model與view文件夾中創建對應文件。
資料庫配置文件在home與admin下的conf文件中。
『陸』 PHP 中TP5 Request 請求對象的實例詳解
說實話,我最頭疼看見很多文檔似的解說。
上干貨
一個簡單請求的介面:
開頭導入文件
use think\Request;
一個post的簡單的請求:
public function test(){
$request=Request::instance();
$a=$request->post('a');
}
如果是get,param等,相應的把post改成這個就好。。
『柒』 請問這PHP的tp5是什麼報錯
database.php文件32行設置表前綴,然後可以使用函數助手db('Shoplist');實例化資料庫
『捌』 php tp3.0框架裡面的U方法怎麼用
U函數TP手冊裡面說的很詳細啊:
U方法的定義規則如下(方括弧內參數根據實際應用決定):
U('[分組/模塊/操作]?參數' [,'參數','偽靜態後綴','是否跳轉','顯示域名'])
如果不定義項目和模塊的話 就表示當前項目和模塊名稱,
例子:
U('User/add') // 生成User模塊的add操作的URL地址
U('Blog/read?id=1') // 生成Blog模塊的read操作並且id為1的URL地址
U('Admin/User/select') // 生成Admin分組的User模塊的select操作的URL地址
U方法的第二個參數支持數組和字元串兩種定義方式,如果只是字元串方式的參數可以在第一個參數中定義,例如:
U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')
三種方式是等效的,都是 生成Blog模塊的cate操作並且cate_id為1 status為1的URL地址
在 action裡面 直接使用
如 $Url = U("User/add"); //就會 生成User模塊的add操作的URL地址 賦值給 $Url ;
或者 在 html 頁面寫
<a href="{:U('User/add')}">User模塊的add操作的URL地址</a>
『玖』 php tp裡面c方法怎麼寫配置
在Application/common/conf/config.php中設置了'name'=>''bj, 然後在控制器的方法中echo C('nsme')這樣試試呢, 如果還有不明白的話,你可以在後盾人看看視頻找找答案,有空多看看時間長了,慢慢就明白了,希望能幫到你,給個採納吧謝謝我還要趕著去參加活動呢😊 (~㉨~)
『拾』 php tp框架實現全站模糊查找。
請使用全文搜索引擎。