整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          教你快速上手ThinkPHP 5.0

          教你快速上手ThinkPHP 5.0

          hinkPHP 5.0的安裝


          方式一:官網下載

          • 官網地址:http://thinkphp.cn

          方式二:git安裝

          • 應用項目:https://github.com/top-think/think

          • 核心框架:https://github.com/top-think/framework

          • 首先Clone項目倉庫:

            git clone https://github.com/top-think/think project_name

          • 然后再切換到項目文件夾(/project_name),安裝核心框架

            git clone https://github.com/top-think/framework thinkphp

          • 后續需要更新框架時,只要切換到thinkphp文件夾并執行

            git pull https://github.com/top-think/framework

          運行ThinkPHP項目

          • 在本地環境運行ThinkPHP項目有兩種方式:

          • 在計算機上搭建Apache服務器,將項目文件夾放到Apache中運行

          • 在安裝php環境的機器上執行路由命令,自建服務器環境

          • 在此使用第一種方法,第二中方法占不討論。

          • 在瀏覽器上訪問入口文件,訪問項目:

            http://localhost/project_name/public/index.php

          配置數據庫

          • 項目文件夾下有很多子文件夾,其中application文件夾存放的就是我們的業務代碼,所以在入門的時候幾乎只涉及到這個文件夾的內容。https://github.com/top-think/framework

          • 在開始制作項目前我們先配置數據庫,用編輯器打開 database.php,修改數據庫名稱、用戶名和密碼就可以了。

          'hostname'=> 'localhost',
          'database'=> 'test',
          'username'=> 'root',
          'password'=> '123456',

          了解目錄的結構

          • application文件夾的目錄結構是這樣的

          + index //Index模塊
           + controller //控制器
           + model //模型
           + view //視圖
           - .htaccess
           - command.php //命令行工具配置
           - common.php //應用公共函數
           - config.php //應用公共配置
           - database.php //數據庫配置
           - route.php //路由配置
           - tags.php //應用行為擴展定義
          • Index是系統為我們已經創建好的默認模塊,我們還能為應用創建不同的模塊,比如說后臺Admin模塊。

          • 從模塊文件夾的結構我們明顯地看出一個MVC的架構,而接下來我們要做的就是創建第一個控制器,模型和視圖。

          創建第一個控制器

          • 打開controller文件夾我們可以發現系統已經為我們創建了Index控制器,這也是我們為什么在項目創建完成后就可以通過瀏覽器訪問的原因,在這里,我們創建一個新的控制器——Test控制器,我們在controller文件夾新建一個test.php文件。

          • test.php 代碼如下

          namespace app\index\controller;class Test { 
           public function index(){ 
           return 'Hello World!';
           }
          }
          • namespace為這段代碼劃定了命名空間,避免了模塊間和類庫間的命名沖突。

          • index()是Test控制器的一個方法,當我們在通過URL訪問時沒有指定訪問控制器的哪一個方法,就會默認訪問index方法。

          • 當然也可以為控制器添加初始化方法 _initialize(),它會在控制器調用方法時前被調用。

          • 控制器一般不需要任何輸出,直接return數據就可以了。

          • 現在我們訪問

            http://localhost/project_name/public/index.php/Index/Test/index

            可以發現頁面上輸出了 Hello World!

          • 這里你應該就發現了URL的規律了,在index.php后面加上/模塊名/控制器名/方法名就可以調用相應的方法了。

          創建第一個視圖

          在服務器上展示一個網頁

          • 在傳統的PHP中,我們很容易就習慣把html和標簽和php語句混到一起。而在MVC結構中,我們要把展現在瀏覽器上的部分和業務邏輯隔離開來,使得項目的可維護性更高。

          • ThinkPHP 5.0沒有為我們建立視圖文件夾,我們在index模塊文件夾下建立一個view文件夾,然后在view文件夾下建立一個與控制器同名的Test文件夾,當控制器Test需要調用模板時,會在/index/view/Test中尋找。

          • 這里我們在Test下創建一個index.html文件:

          <!DOCTYPE html><html lang="zh-CN"><head>
           <meta charset="UTF-8">
           <title>Document</title></head><body>
           <h1>Hello World!</h1></body></html>
          • 然后我們修改控制器的代碼,引入think\View命名空間,并創建一個View的實例。

          namespace app\index\controller;use think\View;class Test { 
           public function index(){
           $view=new View(); 
           return $view->fetch('index');
           }
          }
          • View類中的fetch方法會找到此模塊中view文件夾下同名的Test文件夾,并根據參數找到index.html文件,將它渲染出來,這時訪問

            http://localhost/project_name/public/index.php/Index/Test/index

            可以看到網頁已經顯示出來了。

          • 當然,如果方法和模板同名的話,就可以省略掉這個參數了,所以在這里

            return $view->fetch('index');


            可以寫成

            return $view->fetch();

          將變量輸出到模板

          • 我們需要把控制器中處理后的數據輸出到模板上,這時只要把變量綁定到$view對象成為它的屬性,就可以在模板中用花括號中將它輸出了。
            /index/controller/Test.php

          <?phpnamespace app\index\controller;use think\View;class Test { 
           public function index(){
           $view=new View();
           $view->name='I love ThinkPHP';
           return $view->fetch();
           }
          }

          /index/view/Test/index.html

          <!DOCTYPE html><html lang="en"><head>
           <meta charset="UTF-8">
           <title>Document</title></head><body>
           <h1>{$name}</h1></body></html>
          • 刷新頁面,即可看到效果。

          • 在視圖中,可以用點運算符(.)來訪問數組的元素。
            /index/controller/Test.php

          <?phpnamespace app\index\controller;use think\View;class Test {
           public function index(){
           $view=new View();
           $view->person=array("name"=>"Tom","age"=>"23"); return $view->fetch();
           }
          
          }

          /index/view/Test/index.html

          <!DOCTYPE html><html lang="en"><head>
           <meta charset="UTF-8">
           <title>Document</title></head><body>
           <h1>{$person.name}</h1>
           <h1>{$person.age}</h1></body></html>
          • 當然也可以使用

            {$person["name"]}

            {$person["age"]}

          訪問數據庫

          • 在之前,我們已經配置好了數據庫,假定我們現在有一張student表(id為主鍵)
            | id | name | age |
            | -- | ----- | --- |
            | 1 | Tom | 23 |
            | 2 | Alice | 22 |

          • 現在,在index文件夾下創建model文件夾,創建Student.php文件

          <?php
          namespace app\index\Model;
          
          use think\Model;class Student extends Model{
           protected $table="student";
          }

          這里注意Student模型類要繼承think\Model類,我們可以事先通過

          use think\Model;

          來引入這個類。在Student類中,我們需要定義 $table 屬性告訴 ThinkPHP 這個模型匹配的是 student 表。在這里你也許會想到要為 Student 類定義 id, name, age 這些屬性,不過在這里并不需要,等你調用這個模型的時候,ThinkPHP 會根據數據表的字段為 Student 的實例來添加這些屬性。
          • 接下來,我們只要在控制器中引入Student類,就可以訪問數據了。

          <?phpnamespace app\index\controller;use app\index\model\Student;use think\View;class Test {
           public function index(){
           $view=new View(); 
           $student=Student::get(1);
           $view->student=$student;
           return $view->fetch();
           }
          }
          • 首先別忘了引入Student類

            use app\index\model\Student;


            在 index 方法中,我們通過 Student::get(1) 靜態獲取了 Student表中主鍵為1的數據,并將它綁定在視圖上,我們嘗試在視圖輸出 student 的數據。

          <!DOCTYPE html><html lang="en"><head>
           <meta charset="UTF-8">
           <title>Document</title></head><body>
           <h1>{$student.name}</h1>
           <h1>{$student.age}</h1></body></html>
          • 大功告成,除了這種靜態調用的方式,還可以動態建立Student實例,這樣就可以進行更加豐富的查詢操作,這里就不詳細撰述了,有興趣的同學可以去翻看ThinkPHP 5.0文檔中關于模型和數據庫的部分。

          成為一名ThinkPHP開發者

          • 在這里,你已經創建了一個ThinkPHP應用,建立了第一個控制器,通過關聯模型訪問了數據庫的數據,并將它們輸出到HTML模板上。你已經完成了開發ThinkPHP的第一步,當然,這些知識對于你而言還是遠遠不夠的,接下來你需要通過更多的資料來熟悉這個框架,并通過不斷地翻看文檔,來了解ThinkPHP的各種方法和強大特性,最后附上ThinkPHP 5.0的文檔地址,加油啦。

          • http://www.kancloud.cn/manual/thinkphp5

          eyongCms內容管理系統(簡稱BeyongCms)

          BeyongCms系統基于ThinkPHP5.1框架的輕量級內容管理系統,適用于企業Cms, 個人站長等,針對移動App、小程序優化;提供完善簡潔的項目文檔,方便開發人員進行二次開發。 支持模塊式開發,方便平臺擴展及第三方進行二次開發。專注于個人站長、中小企業客戶,提供基礎平臺功能及豐富的應用擴展, 支持PC和移動場景,滿足企業建站系統、后臺管理框架、App后臺開發、微信小程序開發、小程序開發框架、小程序API、小程序開發等實際二次開發場景。 其主要特性包括:

          • 基于PHP最流行的ThinkPHP5.1框架,web端采用jquery+bootstrap框架
          • 用戶系統
          • 文章系統
          • 靈活的角色權限控制
          • Composer第三方庫支持
          • 插件系統
          • 主題系統
          • 針對App及小程序的api優化
          • 阿里云和七牛云OSS支持
          • 站長特性支持,友鏈管理,Sitemap地圖,收錄檢測,相關推薦,熱門推薦等
          • 支持文章全文檢索(開發中,支持ElasticSearch)


          ThinkPHP5.1的運行環境要求PHP5.6以上,建議使用PHP7.0及以上。

          ##軟件架構

          系統支持Linux/Window/Mac OS三大平臺; 軟件架構采用nginx/apache + PHP + Mysql(MariaDB) [+redis] 的經典WEB架構,因為簡單易于理解,且方便部署,門檻低; 理論上可支持SQL server, Oracle, Postgre SQL, MongoDB等,但未經充分測試。

          安裝教程

          前期準備

          準備好您的域名,并設置好指向; 安裝apache/nginx, php及Mysql; 創建數據庫,并分配數據庫帳號密碼(不建議用root),當前BeyongCms不支持幫助用戶創建數據庫;

          自動安裝引導

          刪除data/install.lock文件,如果存在的話;



          啟動定時及消息隊列

          修改config/queue.config文件 'default'=> 'cms:queue', 改為 'default'=> 'cms:queue:your_project', 避免如果你安裝多份的BeyongCms導致的消息沖突;

          Window下

          start_queue.bat start_timer.bat

          Linux下

          sh start_queue.sh sh start_timer.bat

          系統的目錄結構如下:

          thinkphp5的模板使用中,可以將需要引入的css等效果文件直接放在/public/static/下的對應目錄中,在模板文件使用時可直接,

          <link href="/static/admin/css/style.min.css?v=4.1.0" rel="stylesheet">,

          或者是

          {load file="/static/admin/css/bootstrap.css"}等方式引入,但是如果當這些文件所在的目錄發送改變時,在代碼中將有很大地方將要改動。

          這里可以直接在應用配置文件中(/application/admin)下的config.php文件中添加

          //模板引入js,css,img路徑常量設置

          'view_replace_str'=> [

          '__CSS__'=>'/static/admin/css',

          '__JS__'=>'/static/admin/js',

          '__IMG__'=>'/static/admin/img',

          '__FONT__'=>'/static/admin/img',

          ]`

          不建議在項目框架配置文件中修改(/application),這樣可以使得不同應用(admin,home)等需要加載的的js,css常量的包含模塊路徑。

          更多ThinkPHP相關技術文章,請訪問ThinkPHP使用教程欄目進行學習!

          以上就是thinkphp如何配置css路徑的詳細內容,更多請關注其它相關文章!

          更多技巧請《轉發 + 關注》哦!


          主站蜘蛛池模板: 久久一区二区精品| 国产一区二区三区在线视頻| 无码精品人妻一区二区三区漫画 | 韩国一区二区三区视频| 丰满人妻一区二区三区视频| 精品乱码一区二区三区四区| 一区二区三区四区精品| 97一区二区三区四区久久| 中文字幕人妻无码一区二区三区| 无码av中文一区二区三区桃花岛 | 久久er99热精品一区二区| 日韩一区二区三区在线观看 | 国产乱码一区二区三区爽爽爽| 亚州AV综合色区无码一区| 美女一区二区三区| 成人区人妻精品一区二区不卡视频 | 午夜视频久久久久一区| 成人欧美一区二区三区在线视频| 无码囯产精品一区二区免费 | 国产一区二区成人| 久久婷婷久久一区二区三区| 中文字幕一区二区区免| 婷婷国产成人精品一区二| 日韩色视频一区二区三区亚洲| 一区二区不卡在线| 久久久精品人妻一区二区三区蜜桃 | 国产福利电影一区二区三区久久久久成人精品综合 | 一级特黄性色生活片一区二区| 在线免费视频一区| 午夜AV内射一区二区三区红桃视| 亚洲一区二区免费视频| 无码人妻AⅤ一区二区三区 | 无码国产精品一区二区免费式影视| 日本一区二区不卡在线| 国产精品日本一区二区不卡视频| 狠狠色婷婷久久一区二区三区| 亚洲毛片不卡av在线播放一区| 国产91精品一区| 久久精品中文字幕一区| 日韩精品无码一区二区三区AV| 精品国产日产一区二区三区|