Thinkphp5.0快速入門筆記(1)

噓,小點聲發表於2019-08-02

 

學習來源與說明

https://www.kancloud.cn/thinkphp/thinkphp5_quickstart

測試與部署均在windows10下進行學習。

Composer安裝和更新

Composer 是 PHP 用來管理依賴(dependency)關係的工具。可以在自己的專案中宣告所依賴的外部工具庫(libraries),Composer 會幫你安裝這些依賴的庫檔案。

網址:https://www.phpcomposer.com/

下載:https://getcomposer.org/Composer-Setup.exe

ThinkPHP框架下載地址

[ Github ]
應用專案: https://github.com/top-think/think
核心框架: https://github.com/top-think/framework
[ 碼雲 ]
應用專案: https://git.oschina.net/liu21st/thinkphp5.git
核心框架: https://git.oschina.net/liu21st/framework.git
[ Coding ]
應用專案: https://git.coding.net/liu21st/thinkphp5.git
核心框架: https://git.coding.net/liu21st/framework.git

部署與測試

部署過程採用xampp搭建。

XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站整合軟體包。

下載完以後預設安裝。安裝完畢後開啟xampp-control,如下介面。點選Apache的start和MySQL的start,允許網路,輸入127.0.0.1測試。

Apache如果無法啟動考慮埠占用問題,使用埠80,443。在cmd視窗下命令:netstat -ano檢視埠占用情況,然後在工作管理員中找到佔用埠的對應程式PID,結束掉,重新啟動Apache試試。

測試完畢後,在Apache的Config下的httpd.conf檔案開啟,在文字最後(568行最後左右)編輯輸入:

<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs\server\public"
    ServerName www.server.com
</VirtualHost>

 然後在C:\xampp\htdocs下建立資料夾server,將php框架解壓到該資料夾下,檢查對應出的public資料夾。

 然後在C:\Windows\System32\drivers\etc中,找到host檔案,修改屬性,使可以編輯,然後在最後端新增:

192.168.0.103  www.matlabserver.com

使可以通過域名對應到網路ip。其中的192.168.0.103為本機對應在區域網的ip地址,使用者應該在cmd視窗中使用ipconfig,自行查詢對應的區域網ip地址。

最後測試,瀏覽器中輸入ip,測試完畢後的效果如下:(當然啦,現在thinkPHP都出到6.0版本了,如果使用了5.1版本或者6.0,應該效果略有差異,但是不影響吧)

demo、控制器、檢視、除錯開關

demo

在ThinkPHP框架根路徑開啟cmd視窗,輸入

php think build --module demo

會在application/下生成demo程式碼作為示例。

控制器

控制器位於路徑application/index/controller/Index.php。編輯該檔案即對主頁編輯。控制器的路徑和public/index.php配置有關。

修改application/index/controller/Index.php檔案,則修改了主介面,如:

<?php
namespace app\index\controller;
class Index
{
    public function index()
    {
        return 'Hello,World!';
    }
}

 

檢視

和demo一樣,在application/index/下建立view資料夾,如圖:

在之下創立hello.html,有如下內容:

<html>
    <head>
     <title>hello {$name}</title>
    </head>
    <body>
     hello, {$name}!
    </body>
</html>

 修改application/index/controller/Index.php控制器為以下,則通過hello相互關聯,控制器新增檢視檔案功能。(使用use宣告繼承方便,不適用use則需要class Index extends \think\Controller宣告繼承。

<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
    public function hello($name = 'thinkphp')
    {
        $this->assign('name', $name);
        return $this->fetch();
    }
}

 效果如下:(注意url訪問 http://serverName/index.php/模組/控制器/操作)

除錯開關

除錯開關位於application/config.php,第20行左右修改為以下,則關閉了除錯開關:

    'app_debug'              => false,

開啟狀態:

關閉狀態:

與資料庫連線

 資料庫在xampp下的開啟方式,可以通過MySQL的admin開啟,也可以在cmd視窗中操作。下圖為在xampp下的開啟mysql方式。

 

在cmd中操作,首先將環境變數新增到path中,然後再開啟cmd視窗。下圖為新增環境變數示例。

然後輸入如下,進入mysql。

輸入以下,建立id,data的資料庫,插入三條資料。

show databases;

create database demo;
use demo
CREATE TABLE IF NOT EXISTS `think_data`( `id` int(8) unsigned NOT NULL AUTO_INCREMENT, `data` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; INSERT INTO `think_data`(`id`,`data`) VALUES (1,'thinkphp'), (2,'php'), (3,'framework');

select * from think_data;

一點效果:

 

在application/database.php中修改檔案內容為:

<?php

return [
    // 資料庫型別
    'type' => 'mysql',
    // 伺服器地址
    'hostname' => '127.0.0.1',
    // 資料庫名
    'database' => 'demo',
    // 資料庫使用者名稱
    'username' => 'root',
    // 資料庫密碼
    'password' => '',
    // 資料庫連線埠
    'hostport' => '',
    // 資料庫連線引數
    'params' => [],
    // 資料庫編碼預設採用utf8
    'charset' => 'utf8',
    // 資料庫表字首
    'prefix' => 'think_',
    // 資料庫除錯模式
    'debug' => true,
    ];

 修改控制器程式碼為:

<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index extends Controller
{
    public function index()
    {
        $data = Db::name('data')->find();
        $this->assign('result', $data);
        return $this->fetch();
    }
}

 新增模板檔案view/index.html,設立內容為:

<html>
    <head>
        <title></title>
    </head>
    <body>
        {$result.id}--{$result.data}
    </body>
</html>

 儲存,最終效果為:

 成功連線上了資料庫,然後輸出第一條資料。

 也可以嘗試更改控制器程式碼第九行為:

        $data = Db::name('data')->where('id',2)->find();

 輸出資料庫第二條資料。

參閱地址:https://www.kancloud.cn/manual/thinkphp5/135176

 

相關文章