您好,登錄后才能下訂單哦!
小編這次要給大家分享的是詳解PHP如何使用ThinkPHP框架,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
Thinkphp框架其精髓就在于實現了MVC思想,其中M為模板、V為視圖、C為控制器,模板一般是公共使用類,在涉及數據庫時,一般會跟數據表同名,視圖會和控制器類里的方法進行名字的一一對應。
下載及配置
官網下載ThinkPHP5.0,將解壓文件放在網站目錄下的ATP5子目錄下
默認主頁:http://localhost:8099/ATP5/public/index.php
如果要隱藏index.php且服務器為Apache則需要將public\.htaccess下內容替換為:
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] </IfModule>
版本要求
php版本大于等于5.4
訪問規則
http://localhost:8099/ATP5/public /模塊/控制器/方法
其中http://localhost:8099/ATP5/public /
為thinkphp的公共入口,模塊的區分可以實現如管理員和用戶的不同入口。
命名規則
模塊名:全部小寫
控制器名:首字母大寫
方法名:全部小寫
注意:
URL輸入時不區分大小寫,框架會自動根據標志轉換,可在config里設置(url_convert' => false)
如果控制器名為駝峰式命名(如HelloWorld)訪問時地址欄應用下劃線處理(如 hello_world)
新建入口App
復制一份application,然后在public/index.php中修改對應的入口名字
建立MVC目錄
命名規則:
模板(model):首字母大寫
視圖(view):全部小寫
控制器(controller):首字母大寫
顯示錯誤信息和調試
打開應用的目錄里的config.php文件配置:
app_debug 值為true則顯示調試信息
show_error_msg 值為ture 則顯示錯誤信息
CSS和JS及圖片的地址引用
在視圖目錄下想要引用到一些資源文件,如css,js,圖片等,是不支持使用把相關文件放到view目錄下的,應該把資源文件放在public目錄下,然后在App中的config.php里的view_ replace_str下添加資源文件的目錄宏定義
// 視圖輸出字符串內容替換 'view_replace_str' => [ '__DSTYLE__'=>"/atp/public/static/library", '__DIMG__'=>"/atp/public/img", ],
使用:
如果修改后在開發者工具發現數據使用依然是上一次更改的地址,說明有緩存在作怪,可以到 runtime\temp 目錄下清除
<img src="__DIMG__/banner7.png"> <link rel="stylesheet" href="__DSTYLE__/donglayui/layui/css/layui.css" rel="external nofollow" media="all">
簡單的值匹配
視圖代碼:
<!doctype html> <h2>--{$name1}--</h2> <h3>--{$name2}--</h3>
控制器代碼:
<?php namespace app\index\controller; //導入必要模塊 use think\Controller; class Xiao extends Controller { public function xiao2(){ $valuex1="匹配值1"; $valuex2="匹配值2"; //匹配,變量賦值 $this->assign("name1",$valuex1); $this->assign("name2",$valuex2); //渲染輸出 //返回視圖 fetch實參為空表示找函數同名的html,實參可以傳遞其它視圖名稱 return $this->fetch(); } }
數組值的匹配
視圖中獲取
{$ff.1}
控制器
$valuex2=array("0","1","1"); $this->assign("ff",$valuex2); return $this->fetch();
Volist的使用
該方法是thinkphp中很有趣的方法,其可以實現在視圖文件中進行數組的循環遍歷,最常會使用其進行數據庫表格的遍歷顯示。
視圖中的代碼:
<table border="1"> <!--表格頭--> <thead> <tr> <th>id</th> <th>用戶名</th> <th>昵稱</th> <th>備注</th> </tr> </thead> <!--表格內容--> <tbody> <!--循環遍歷--> {volist name="listallh" id="vo"} <tr> <td>{$vo.id}</td> <td>{$vo.user}</td> <td>{$vo.name}</td> <td>{$vo.oo}</td> </tr> {/volist} </tbody> </table>
控制器代碼:
$listall=array(); $listall[]=array("id"=>1,"user"=>"dong1","name"=>"dongxiaodong1","oo"=>"無"); $listall[]=array("id"=>2,"user"=>"dong2","name"=>"dongxiaodong2","oo"=>"無"); $listall[]=array("id"=>3,"user"=>"dong3","name"=>"dongxiaodong3","oo"=>"無"); $listall[]=array("id"=>4,"user"=>"dong4","name"=>"dongxiaodong4","oo"=>"無"); $this->assign('listallh',$listall); return $this->fetch();
公共界面
如果多個頁面需要使用到同一個HTML代碼塊,可以將代碼塊放到外面,其它界面直接通過引用即可
在view目錄下創建自定義文件名字的文件夾(public_view),里面創建自定義文件名的HTML文件(menu.html),在需要的地方直接通過【{include file="public_view/menu"}】引入即可
創建公共文件
HTML內容
<h3>東小東內容匹配頁</h3>
在其它頁面中使用
<h3>東小東</h3> {include file="public_view/menu"}
顯示效果
看完這篇關于詳解PHP如何使用ThinkPHP框架的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。