Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 ...91久久精品一区二区三区,国产精品亚洲片在线花蝴蝶,国产精品综合

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          教你快速上手ThinkPHP 5.0

          教你快速上手ThinkPHP 5.0

          hinkPHP 5.0的安裝


          方式一:官網(wǎng)下載

          • 官網(wǎng)地址:http://thinkphp.cn

          方式二:git安裝

          • 應(yīng)用項(xiàng)目:https://github.com/top-think/think

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

          • 首先Clone項(xiàng)目倉(cāng)庫(kù):

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

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

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

          • 后續(xù)需要更新框架時(shí),只要切換到thinkphp文件夾并執(zhí)行

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

          運(yùn)行ThinkPHP項(xiàng)目

          • 在本地環(huán)境運(yùn)行ThinkPHP項(xiàng)目有兩種方式:

          • 在計(jì)算機(jī)上搭建Apache服務(wù)器,將項(xiàng)目文件夾放到Apache中運(yùn)行

          • 在安裝php環(huán)境的機(jī)器上執(zhí)行路由命令,自建服務(wù)器環(huán)境

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

          • 在瀏覽器上訪問(wèn)入口文件,訪問(wèn)項(xiàng)目:

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

          配置數(shù)據(jù)庫(kù)

          • 項(xiàng)目文件夾下有很多子文件夾,其中application文件夾存放的就是我們的業(yè)務(wù)代碼,所以在入門(mén)的時(shí)候幾乎只涉及到這個(gè)文件夾的內(nèi)容。https://github.com/top-think/framework

          • 在開(kāi)始制作項(xiàng)目前我們先配置數(shù)據(jù)庫(kù),用編輯器打開(kāi) database.php,修改數(shù)據(jù)庫(kù)名稱(chēng)、用戶名和密碼就可以了。

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

          了解目錄的結(jié)構(gòu)

          • application文件夾的目錄結(jié)構(gòu)是這樣的

          + index //Index模塊
           + controller //控制器
           + model //模型
           + view //視圖
           - .htaccess
           - command.php //命令行工具配置
           - common.php //應(yīng)用公共函數(shù)
           - config.php //應(yīng)用公共配置
           - database.php //數(shù)據(jù)庫(kù)配置
           - route.php //路由配置
           - tags.php //應(yīng)用行為擴(kuò)展定義
          • Index是系統(tǒng)為我們已經(jīng)創(chuàng)建好的默認(rèn)模塊,我們還能為應(yīng)用創(chuàng)建不同的模塊,比如說(shuō)后臺(tái)Admin模塊。

          • 從模塊文件夾的結(jié)構(gòu)我們明顯地看出一個(gè)MVC的架構(gòu),而接下來(lái)我們要做的就是創(chuàng)建第一個(gè)控制器,模型和視圖。

          創(chuàng)建第一個(gè)控制器

          • 打開(kāi)controller文件夾我們可以發(fā)現(xiàn)系統(tǒng)已經(jīng)為我們創(chuàng)建了Index控制器,這也是我們?yōu)槭裁丛陧?xiàng)目創(chuàng)建完成后就可以通過(guò)瀏覽器訪問(wèn)的原因,在這里,我們創(chuàng)建一個(gè)新的控制器——Test控制器,我們?cè)赾ontroller文件夾新建一個(gè)test.php文件。

          • test.php 代碼如下

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

          • index()是Test控制器的一個(gè)方法,當(dāng)我們?cè)谕ㄟ^(guò)URL訪問(wèn)時(shí)沒(méi)有指定訪問(wèn)控制器的哪一個(gè)方法,就會(huì)默認(rèn)訪問(wèn)index方法。

          • 當(dāng)然也可以為控制器添加初始化方法 _initialize(),它會(huì)在控制器調(diào)用方法時(shí)前被調(diào)用。

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

          • 現(xiàn)在我們?cè)L問(wèn)

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

            可以發(fā)現(xiàn)頁(yè)面上輸出了 Hello World!

          • 這里你應(yīng)該就發(fā)現(xiàn)了URL的規(guī)律了,在index.php后面加上/模塊名/控制器名/方法名就可以調(diào)用相應(yīng)的方法了。

          創(chuàng)建第一個(gè)視圖

          在服務(wù)器上展示一個(gè)網(wǎng)頁(yè)

          • 在傳統(tǒng)的PHP中,我們很容易就習(xí)慣把html和標(biāo)簽和php語(yǔ)句混到一起。而在MVC結(jié)構(gòu)中,我們要把展現(xiàn)在瀏覽器上的部分和業(yè)務(wù)邏輯隔離開(kāi)來(lái),使得項(xiàng)目的可維護(hù)性更高。

          • ThinkPHP 5.0沒(méi)有為我們建立視圖文件夾,我們?cè)趇ndex模塊文件夾下建立一個(gè)view文件夾,然后在view文件夾下建立一個(gè)與控制器同名的Test文件夾,當(dāng)控制器Test需要調(diào)用模板時(shí),會(huì)在/index/view/Test中尋找。

          • 這里我們?cè)赥est下創(chuàng)建一個(gè)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命名空間,并創(chuàng)建一個(gè)View的實(shí)例。

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

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

            可以看到網(wǎng)頁(yè)已經(jīng)顯示出來(lái)了。

          • 當(dāng)然,如果方法和模板同名的話,就可以省略掉這個(gè)參數(shù)了,所以在這里

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


            可以寫(xiě)成

            return $view->fetch();

          將變量輸出到模板

          • 我們需要把控制器中處理后的數(shù)據(jù)輸出到模板上,這時(shí)只要把變量綁定到$view對(duì)象成為它的屬性,就可以在模板中用花括號(hào)中將它輸出了。
            /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>
          • 刷新頁(yè)面,即可看到效果。

          • 在視圖中,可以用點(diǎn)運(yùn)算符(.)來(lái)訪問(wèn)數(shù)組的元素。
            /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>
          • 當(dāng)然也可以使用

            {$person["name"]}

            {$person["age"]}

          訪問(wèn)數(shù)據(jù)庫(kù)

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

          • 現(xiàn)在,在index文件夾下創(chuàng)建model文件夾,創(chuàng)建Student.php文件

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

          這里注意Student模型類(lèi)要繼承think\Model類(lèi),我們可以事先通過(guò)

          use think\Model;

          來(lái)引入這個(gè)類(lèi)。在Student類(lèi)中,我們需要定義 $table 屬性告訴 ThinkPHP 這個(gè)模型匹配的是 student 表。在這里你也許會(huì)想到要為 Student 類(lèi)定義 id, name, age 這些屬性,不過(guò)在這里并不需要,等你調(diào)用這個(gè)模型的時(shí)候,ThinkPHP 會(huì)根據(jù)數(shù)據(jù)表的字段為 Student 的實(shí)例來(lái)添加這些屬性。
          • 接下來(lái),我們只要在控制器中引入Student類(lèi),就可以訪問(wèn)數(shù)據(jù)了。

          <?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類(lèi)

            use app\index\model\Student;


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

          <!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>
          • 大功告成,除了這種靜態(tài)調(diào)用的方式,還可以動(dòng)態(tài)建立Student實(shí)例,這樣就可以進(jìn)行更加豐富的查詢操作,這里就不詳細(xì)撰述了,有興趣的同學(xué)可以去翻看ThinkPHP 5.0文檔中關(guān)于模型和數(shù)據(jù)庫(kù)的部分。

          成為一名ThinkPHP開(kāi)發(fā)者

          • 在這里,你已經(jīng)創(chuàng)建了一個(gè)ThinkPHP應(yīng)用,建立了第一個(gè)控制器,通過(guò)關(guān)聯(lián)模型訪問(wèn)了數(shù)據(jù)庫(kù)的數(shù)據(jù),并將它們輸出到HTML模板上。你已經(jīng)完成了開(kāi)發(fā)ThinkPHP的第一步,當(dāng)然,這些知識(shí)對(duì)于你而言還是遠(yuǎn)遠(yuǎn)不夠的,接下來(lái)你需要通過(guò)更多的資料來(lái)熟悉這個(gè)框架,并通過(guò)不斷地翻看文檔,來(lái)了解ThinkPHP的各種方法和強(qiáng)大特性,最后附上ThinkPHP 5.0的文檔地址,加油啦。

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

          eyongCms內(nèi)容管理系統(tǒng)(簡(jiǎn)稱(chēng)BeyongCms)

          BeyongCms系統(tǒng)基于ThinkPHP5.1框架的輕量級(jí)內(nèi)容管理系統(tǒng),適用于企業(yè)Cms, 個(gè)人站長(zhǎng)等,針對(duì)移動(dòng)App、小程序優(yōu)化;提供完善簡(jiǎn)潔的項(xiàng)目文檔,方便開(kāi)發(fā)人員進(jìn)行二次開(kāi)發(fā)。 支持模塊式開(kāi)發(fā),方便平臺(tái)擴(kuò)展及第三方進(jìn)行二次開(kāi)發(fā)。專(zhuān)注于個(gè)人站長(zhǎng)、中小企業(yè)客戶,提供基礎(chǔ)平臺(tái)功能及豐富的應(yīng)用擴(kuò)展, 支持PC和移動(dòng)場(chǎng)景,滿足企業(yè)建站系統(tǒng)、后臺(tái)管理框架、App后臺(tái)開(kāi)發(fā)、微信小程序開(kāi)發(fā)、小程序開(kāi)發(fā)框架、小程序API、小程序開(kāi)發(fā)等實(shí)際二次開(kāi)發(fā)場(chǎng)景。 其主要特性包括:

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


          ThinkPHP5.1的運(yùn)行環(huán)境要求PHP5.6以上,建議使用PHP7.0及以上。

          ##軟件架構(gòu)

          系統(tǒng)支持Linux/Window/Mac OS三大平臺(tái); 軟件架構(gòu)采用nginx/apache + PHP + Mysql(MariaDB) [+redis] 的經(jīng)典WEB架構(gòu),因?yàn)楹?jiǎn)單易于理解,且方便部署,門(mén)檻低; 理論上可支持SQL server, Oracle, Postgre SQL, MongoDB等,但未經(jīng)充分測(cè)試。

          安裝教程

          前期準(zhǔn)備

          準(zhǔn)備好您的域名,并設(shè)置好指向; 安裝apache/nginx, php及Mysql; 創(chuàng)建數(shù)據(jù)庫(kù),并分配數(shù)據(jù)庫(kù)帳號(hào)密碼(不建議用root),當(dāng)前BeyongCms不支持幫助用戶創(chuàng)建數(shù)據(jù)庫(kù);

          自動(dòng)安裝引導(dǎo)

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



          啟動(dòng)定時(shí)及消息隊(duì)列

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

          Window下

          start_queue.bat start_timer.bat

          Linux下

          sh start_queue.sh sh start_timer.bat

          系統(tǒng)的目錄結(jié)構(gòu)如下:

          thinkphp5的模板使用中,可以將需要引入的css等效果文件直接放在/public/static/下的對(duì)應(yīng)目錄中,在模板文件使用時(shí)可直接,

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

          或者是

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

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

          //模板引入js,css,img路徑常量設(shè)置

          'view_replace_str'=> [

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

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

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

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

          ]`

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

          更多ThinkPHP相關(guān)技術(shù)文章,請(qǐng)?jiān)L問(wèn)ThinkPHP使用教程欄目進(jìn)行學(xué)習(xí)!

          以上就是thinkphp如何配置css路徑的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!

          更多技巧請(qǐng)《轉(zhuǎn)發(fā) + 關(guān)注》哦!


          主站蜘蛛池模板: 国产在线乱子伦一区二区| 国产一区二区三区在线观看影院| 国产裸体舞一区二区三区| 国模精品一区二区三区| 国产精品无码一区二区三区毛片| 亚洲一区二区三区在线观看精品中文| 怡红院AV一区二区三区| 在线观看一区二区三区av| 九九久久99综合一区二区| 精品国产一区二区22| 精品视频午夜一区二区| 风间由美在线亚洲一区| 精品香蕉一区二区三区| 在线观看亚洲一区二区| 中文字幕VA一区二区三区| 国产精品乱码一区二区三区| 国产一区二区三区无码免费| 久久99精品一区二区三区| 国产成人精品一区二区秒拍| 久久久99精品一区二区| 大帝AV在线一区二区三区| 精品一区二区三区波多野结衣| 国产日韩一区二区三区在线观看| 国产精品被窝福利一区 | 国产午夜精品一区二区三区小说| 亚洲熟妇AV一区二区三区宅男| 国产精品合集一区二区三区| 91午夜精品亚洲一区二区三区 | 一区二区传媒有限公司| 亚拍精品一区二区三区| 日本无卡码一区二区三区| 成人免费视频一区| 波多野结衣一区二区三区高清在线| 国产伦精品一区二区三区免.费| 色婷婷亚洲一区二区三区| 黑人一区二区三区中文字幕| 国产在线精品一区二区三区不卡| 国产成人精品一区二区三区无码| 久久一区二区明星换脸| 无码精品尤物一区二区三区| 日韩AV无码一区二区三区不卡|