亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > ThinkPHP5 的簡單搭建和使用詳解

ThinkPHP5 的簡單搭建和使用詳解

熱門標(biāo)簽:海南外呼系統(tǒng)方案 智能電銷語音機(jī)器人資訊 蘇州外呼系統(tǒng)有效果嗎 亳州企業(yè)外呼系統(tǒng) 400 電話 辦理 山東電銷卡外呼系統(tǒng)原理是什么 打開百度地圖標(biāo)注 兼職做地圖標(biāo)注好賺錢嗎 地圖標(biāo)注怎么做商戶驗(yàn)證

0X01 Thinkphp 的安裝

我這里選擇的是使用 windows 下的 composer 進(jìn)行安裝,收下首先下載 composer 這個(gè)工具,安裝完成以后進(jìn)入我們想要?jiǎng)?chuàng)建項(xiàng)目的文件夾輸入下面的命令

composer create-project topthink/think tp5 dev-master --prefer-dist

這樣就會在當(dāng)前目錄下形成一個(gè) 名為 tp5 的文件夾,這個(gè)文件夾中存放的就是 thinkphp5 的基本的框架

0X02 重點(diǎn)目錄結(jié)構(gòu)及文件介紹

 1.目錄結(jié)構(gòu)

application : 應(yīng)用目錄,我們的模型視圖控制器都會放在這個(gè)文件夾下,這是我們開發(fā)的主陣地

public : 這個(gè)是我們項(xiàng)目的入口文件,thinkphp 是一個(gè)單一入口的框架

thinkphp : 框架的核心目錄

2.關(guān)鍵文件

application/config.php 項(xiàng)目配置文件,開啟 debug 調(diào)試模式(在開發(fā)中)

application/database.php 數(shù)據(jù)庫配置文件

public/index.php 項(xiàng)目入口文件,定義了應(yīng)用目錄的位置以及包含框架啟動(dòng)文件來啟動(dòng)框架

0X03 配置虛擬主機(jī)

1.httpd.conf 中判斷下面是否被注釋,如果被注釋請取消注釋

(1)Include conf/vhosts.conf (2)LoadModule vhost_alias_module modules/mod_vhost_alias.so

2.刪除 vhost.conf 中原有的默認(rèn)內(nèi)容,添加如下內(nèi)容

VirtualHost *:80>
 DocumentRoot "E:\phpstudy\PHPTutorial\WWW\tp5\public" 
 ServerName localhost  
 Directory "E:\phpstudy\PHPTutorial\WWW\tp5\public">
  Options FollowSymLinks ExecCGI
  AllowOverride All
  Order allow,deny
  Allow from all
  Require all granted
 /Directory>
/VirtualHost>

3.配置 URL 重寫

http.conf 中解開下面的注釋

LoadModule rewrite_module modules/mod_rewrite.so

并在虛擬主機(jī)配置中寫上

AllowOverride All

注意:如果使用 phpstudy 的話,官方默認(rèn)的 .htaccess 是不可以的,需要修改成下面這個(gè)樣子

IfModule mod_rewrite.c>
 RewriteEngine on

 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
/IfModule>

0X04 基本的寫法

1.控制器的基本寫法

(1)模塊中的控制器實(shí)際上就是一個(gè)一個(gè)的類,這個(gè)類寫的時(shí)候要繼承 Controller 并且要在前面寫上命名空間

(2) thinkPHP5 使用 return 來返回一個(gè)html ,自動(dòng)渲染到頁面上

(3)tp5 使用的是 $this->requrst->param() 接受參數(shù),當(dāng)然也要在開始寫上命名空間

示例代碼:

?php
namespace app\index\controller;
use think\Controller;
use think\Request;
class Index extends Controller
{
 public function index()
 {
  print_r($this->request->param());
  return 'style type="text/css">*{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }/style>div style="padding: 24px 48px;"> h1>:)/h1>p> ThinkPHP V5br/>span style="font-size:30px">十年磨一劍 - 為API開發(fā)設(shè)計(jì)的高性能框架/span>/p>span style="font-size:22px;">[ V5.0 版本由 a  rel="external nofollow" target="qiniu">七牛云/a> 獨(dú)家贊助發(fā)布 ]/span>/div>script type="text/javascript" src="https://tajs.qq.com/stats?sId=9347272" charset="UTF-8">/script>script type="text/javascript" src="https://e.topthink.com/Public/static/client.js">/script>think id="ad_bd568ce7058a1091">/think>';
 }
}

我們這樣訪問

http://localhost/index.php/index/index/index/a/3/b/4/c/5

結(jié)果:

2.模板和控制器的關(guān)系

每一個(gè)模塊都有自己的控制器、視圖、和模型,訪問的時(shí)候是按照 index.php/模塊/控制器/方法,訪問的,然后每一個(gè)控制器在 view 中對應(yīng)著一個(gè)同名的文件夾,比如說 controller/Index 控制器, view/Index 就是這個(gè)控制器對應(yīng)的模板文件夾,那么每一個(gè)方法都會在模板文件夾下對應(yīng)一個(gè)同名的 html 文件作為這個(gè)方法的模板

tp5 是通過

$this->assign('data',$data); 

進(jìn)行賦值并通過

return $this->fetch('模板名'); 

進(jìn)行渲染的

示例代碼:

index/controller/Index.php

?php
namespace app\index\controller;
use think\Controller;

class Index extends Controller
{
 public function index()
 {
  $data = "K0rz3n";
  $this->assign('data',$data);
  return $this->fetch();
 }
}

Index/view/Index/index.html

html>
 head>

 /head>
 body>
  hello {$data}!
 /body>
/html>

3.對 SEO 友好的路由

我們知道,我們的搜索引擎抓取頁面最多抓三層,但是我們剛剛寫的那種 URL 已經(jīng)太多層了,這非常不利于搜索引擎的收錄,于是 tp5 給我們提供了一種簡化的方法,就是 route.php

示例代碼:

return [
 '__pattern__' => [
  'name' => '\w+',
 ],
 '[hello]'  => [
  // ':id' => ['index/hello', ['method' => 'get'], ['id' => '\d+']],
  // ':name' => ['index/hello', ['method' => 'post']],
 ],

 'hello/[:name]' => ['index/Index/hello',['method' => 'get','ext' => 'html']],

];

這個(gè)意思就是我們訪問 hello/name 就會轉(zhuǎn)給 index/Index/hello ,并且要求是 Get 方法,后綴名是 HTML

配置好后我們只要添加這樣幾個(gè)東西就 OK 了

public function hello($name = 'zhangsan')
 {
  $this->assign('name',$name);
  return $this->fetch();
 }

hello.html

html>
 head>

 /head>
 body>
  hello {$name}!
 /body>
/html>

如圖所示:

當(dāng)然在這種情況下參數(shù)名還是會很多斜杠,還是不是很友好,于是我們可以在 config.php 中將默認(rèn)的斜杠分隔符進(jìn)行修改,改成其他的這樣就避免了這個(gè)問題

4.URL 自動(dòng)生成

tp5 給我們提供了 url() 這個(gè)函數(shù)幫我們自動(dòng)生成 Url

public function url()
 {
  echo url('url2','a=1b=2');
 }

這個(gè)方法運(yùn)行的結(jié)果就是

/index/index/url2/a/1/b/2.html

5.請求和響應(yīng)

1.接收請求的參數(shù)

訪問: http://localhost/index/index/req/username/test

通過以下代碼可以得到 username

echo $this->request->param('username');

或者我們可以使用函數(shù)助手 input(),下面這段代碼能達(dá)到和上面一樣的效果

echo input('username');

包括我們通過下面的代碼獲取 url

echo $this->request->url();

這個(gè)也有自己的函數(shù)助手

echo request()->url();

我們可以獲分別獲取 get post cookie file 等方式的參數(shù)

$this->request->get()
$this->request->post()
$this->request->cookie()
$this->request->file()

或者實(shí)例化一個(gè) Request 對象,但是這種方法只能接受 url 后面是 連接的參數(shù),重寫的好像不行

$Request = Request::instance()

$request->get()
$Rquest->post()
$Request->cookie()
$Request->file()

2.綁定參數(shù)

$this->request->bind('user',"hh");
 echo $this->request->user;

那么為什么請求還要?jiǎng)討B(tài)地綁定參數(shù)呢?因?yàn)楹芏鄷r(shí)候需要傳遞 session 的值,來維持會話

3.返回值

可以返回多種格式的值 比如 json xml 或者通過 $this->fetch() 來進(jìn)行模板渲染

return json($data);
return xml($data);

當(dāng)然我們的 tp 也有對一些東西的封裝,比如實(shí)現(xiàn)輸出一段話然后進(jìn)行跳轉(zhuǎn)到某個(gè)方法,或者是直接進(jìn)行重定向

return json($data);
return xml($data);

6.模板與輸出

一般的模板渲染就不想介紹了,這里說下模板布局,其實(shí)就是在 view 文件夾下有一個(gè) layout.html 文件,這個(gè)文件的內(nèi)容是這樣的

layout.html

{include file="/index/header"/}
{__CONTENT__}
{include file="/index/footer"/}

然后我們寫模板的時(shí)候就在最上面加上對這個(gè)文件的引用

{layout name="layout"/}

如果我們想全局引入頁眉頁腳,這個(gè)配置需要在 config.php 中進(jìn)行設(shè)置,在模板配置中添加下面的代碼

'layout_on' => 'true',
'layout_name' => 'layout',
'layout_item' => '{__CONTENT__}',

這樣的話就是進(jìn)行了全配置但是如果我們有些頁面不想這樣配置的話我們需要在這樣的頁面上寫上

{__NOLAYOUT__}

如果我們模板文件中的靜態(tài)文件路徑想要不寫死的話,我們可以在 php 文件中的 fecth 前設(shè)置字符替換

$this->view->replace(['__PUBLIC__' => '/static',]);

如果我們想每個(gè)方法都使用這個(gè)操作,我們就把上面這段代碼放到 控制器的構(gòu)造函數(shù)里面

function __construct(){
 parent::__construct();
 $this->view->replace(['__PUBLIC__' => '/static',]);
}

0X05 參考

https://www.kancloud.cn/thinkphp/thinkphp5-guide/30551

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • ThinkPHP框架搭建及常見問題(XAMPP安裝失敗、Apache/MySQL啟動(dòng)失?。?/li>
  • Thinkphp搭建包括JS多語言的多語言項(xiàng)目實(shí)現(xiàn)方法

標(biāo)簽:呼倫貝爾 綏化 安康 金華 萊蕪 清遠(yuǎn) 紹興 溫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ThinkPHP5 的簡單搭建和使用詳解》,本文關(guān)鍵詞  ThinkPHP5,的,簡單,搭,建和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ThinkPHP5 的簡單搭建和使用詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于ThinkPHP5 的簡單搭建和使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲精品影院| 91麻豆精品国产自产在线 | 日韩一级精品视频在线观看| 欧美1区| 天天色成人网| 精品视频在线看 | 精品在线观看国产| 999久久66久6只有精品| 国产伦精品一区二区三区无广告 | 欧美激情一区二区三区视频 | 二级片在线观看| 日本在线不卡视频| 久久精品欧美一区二区| 久草免费资源| 色综合久久天天综合绕观看| 国产精品免费久久| 日韩专区一区| 国产a视频| 欧美另类videosbestsex| 久久福利影视| 国产综合成人观看在线| 精品久久久久久影院免费| 天天做日日爱夜夜爽| 精品视频在线看| 亚洲wwwwww| 国产成a人片在线观看视频| 国产亚洲精品aaa大片| 精品在线免费播放| 欧美a级v片不卡在线观看| 久久99中文字幕久久| 天天色色网| 色综合久久久久综合体桃花网| 黄视频网站免费| 91麻豆精品国产高清在线| 韩国毛片| 国产一区二区精品在线观看| 可以免费看毛片的网站| 九九国产| 麻豆网站在线免费观看| 青青久久精品| 在线观看导航| 国产伦精品一区二区三区无广告| 国产韩国精品一区二区三区| 91麻豆精品国产片在线观看| 免费一级片网站| 国产麻豆精品免费密入口| 久久国产精品自由自在| 成人免费一级毛片在线播放视频| 精品在线免费播放| 欧美国产日韩精品| 国产一区二区精品在线观看| 日本免费乱人伦在线观看 | 国产精品自拍亚洲| 999精品视频在线| 二级片在线观看| 国产原创视频在线| 亚洲精品影院一区二区| 四虎影视久久久| 亚久久伊人精品青青草原2020| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 免费一级生活片| 亚洲 国产精品 日韩| 精品国产一区二区三区久久久狼| 天堂网中文在线| 国产伦精品一区二区三区无广告 | 四虎影视久久久| 国产成人精品综合| 九九久久国产精品| 国产视频在线免费观看| 天堂网中文在线| 亚洲第一页乱| 日韩中文字幕在线亚洲一区| 四虎影视久久久免费| 免费国产在线观看不卡| 国产麻豆精品hdvideoss| 精品国产一区二区三区久久久蜜臀 | 国产麻豆精品视频| 午夜在线亚洲| 色综合久久天天综合| 一级女性全黄生活片免费 | 成人a大片高清在线观看| 91麻豆国产福利精品| 香蕉视频一级| 国产伦久视频免费观看视频| 午夜在线亚洲| 99久久网站| 国产伦理精品| 欧美激情伊人| 91麻豆精品国产综合久久久| 欧美激情在线精品video| 成人免费高清视频| 日本特黄一级| 韩国毛片免费| 精品毛片视频| 香蕉视频一级| 黄视频网站在线看| 国产激情视频在线观看| 色综合久久天天综合绕观看| 99久久网站| 国产亚洲精品成人a在线| 欧美1区| 999精品在线| 日韩中文字幕在线观看视频| 日本免费乱人伦在线观看 | 日本特黄特黄aaaaa大片| 二级片在线观看| 九九免费高清在线观看视频| 亚洲第一色在线| 日韩在线观看免费| 天天色成人网| 国产一区二区精品久| 欧美一级视| 亚州视频一区二区| 黄视频网站免费看| 久久国产精品自线拍免费| 久久99中文字幕久久| 免费的黄色小视频| 日韩字幕在线| 国产成人精品在线| 你懂的福利视频| 一级毛片看真人在线视频| 国产成人啪精品视频免费软件| 国产综合91天堂亚洲国产| 99色视频在线| 日韩中文字幕在线亚洲一区| 亚洲精品影院久久久久久| 国产一区免费在线观看| 国产高清在线精品一区二区| 日本免费看视频| 中文字幕97| 成人高清视频免费观看| 毛片高清| 国产激情视频在线观看| 亚洲www美色| 可以免费看污视频的网站| 久久国产精品自由自在| 日韩中文字幕在线播放| 日韩一级精品视频在线观看| 国产原创视频在线| a级精品九九九大片免费看| 可以免费看污视频的网站| 国产一级生活片| 日本免费区| 日本在线不卡免费视频一区| 九九干| 精品国产一区二区三区精东影业| 亚洲精品影院久久久久久| 999久久狠狠免费精品| 日韩综合| 高清一级毛片一本到免费观看| 国产伦久视频免费观看 视频| 国产不卡在线观看| 91麻豆爱豆果冻天美星空| 久久精品成人一区二区三区| 成人免费观看视频| 国产a网| 99久久网站| 国产成人精品综合| 精品在线观看国产| 亚洲天堂一区二区三区四区| 一级女性全黄生活片免费 | 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 四虎久久影院| 免费国产在线观看不卡| 久久成人性色生活片| 欧美激情伊人| 日本特黄特黄aaaaa大片| 韩国毛片免费大片| 国产精品12| 国产一区二区精品久久| 色综合久久天天综合观看| 国产一区精品| 欧美激情伊人| 麻豆网站在线免费观看| 国产美女在线一区二区三区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产成人精品综合久久久| 国产一区免费观看| 午夜精品国产自在现线拍| 精品视频一区二区三区免费| 欧美一级视频免费| 日韩免费在线视频| 天天做日日爱夜夜爽| 国产一区二区精品在线观看| 高清一级淫片a级中文字幕 | 国产a网| 成人免费观看的视频黄页| 免费毛片播放| 久久99中文字幕久久| 台湾美女古装一级毛片| 91麻豆精品国产自产在线观看一区 | 午夜久久网| 久草免费资源| 久久久久久久网| 成人av在线播放| 欧美1区| 91麻豆国产福利精品| 精品久久久久久综合网| 国产国语在线播放视频| 国产综合成人观看在线|