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


 

學習來源與說明

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM