摘要:本篇,我們就在自己的項(xiàng)目中使用來(lái)進(jìn)行依賴管理。輸入,即可安裝依賴到目錄中,并且自動(dòng)生成和。安裝依賴,提示從提示可以看出,讀取的是中的依賴,而不是最新的。訪問,正常工作。源碼分享書簽從零開始打造自己的框架中文網(wǎng)中文文檔
Composer
Composer 是 PHP5.3以上 的一個(gè)依賴管理工具。它允許你申明項(xiàng)目所依賴的代碼庫(kù),它會(huì)在你的項(xiàng)目中為你安裝他們。Composer 不是一個(gè)包管理器。是的,它涉及 "packages" 和 "libraries",但它在每個(gè)項(xiàng)目的基礎(chǔ)上進(jìn)行管理,在你項(xiàng)目的某個(gè)目錄中(例如 vendor)進(jìn)行安裝。默認(rèn)情況下它不會(huì)在全局安裝任何東西。因此,這僅僅是一個(gè)依賴管理。
本篇,我們就在自己的項(xiàng)目中使用composer來(lái)進(jìn)行依賴管理。
原文地址:http://www.voidking.com/2017/...
安裝Composer1、訪問Composer下載地址,下載安裝對(duì)應(yīng)平臺(tái)的composer,安裝方法參照官方文檔。
2、打開命令行,輸入composer -V,測(cè)試是否安裝成功。
使用Composer 初次使用1、在項(xiàng)目根目錄下新建composer.json,內(nèi)容如下:
{ "name": "VKPHP", "description": "A PHP Framework for php developer", "type": "Framework", "keywords": [ "PHP","PHP Framework","VKPHP" ], "homepage": "http://www.voidking.com", "time": "2017-09-14", "license": "MIT", "authors": [{ "name": "VoidKing", "email": "[email protected]", "homepage": "http://www.voidking.com", "role": "Student" }], "require": { "PHP": ">=5.3.0", "smarty/smarty": "~3.1" } }
需要解釋的,是require字段,要求PHP大于等于5.3,smarty大于等于3.1且小于等于4.0。
版本號(hào)選擇參照下表:
2、安裝依賴
在根目錄打開命令行,輸入composer,如果composer.json文件有錯(cuò)誤會(huì)出現(xiàn)提示,沒有錯(cuò)誤則提示可選參數(shù)和功能。
輸入composer install,即可安裝依賴到vendor目錄中,并且自動(dòng)生成composer.lock和vendor/autoload.php。
1、在composer.json中添加依賴,whoops任意版本,var-dumper任意版本。
"filp/whoops": "*", "symfony/var-dumper": "*"
2、安裝依賴
composer install,提示
Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Nothing to install or update Generating autoload files
從提示可以看出,composer install讀取的是composer.lock中的依賴,而不是最新的composer.json。
所以,我們要使用命令composer update,這樣就可以下載新寫入的依賴,并且更新composer.lock。
更換Composer源如果在composer install或composer update時(shí)非常慢,那么我們可以更換Composer源。
訪問Composer中國(guó)鏡像站,參照文檔,在composer.json所在目錄中執(zhí)行:
composer config repo.packagist composer https://packagist.phpcomposer.com
或者,直接在composer.json中添加:
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }使用依賴 smarty
1、當(dāng)前,lib目錄和vendor目錄中都包含了smarty,使用verdor中的smarty會(huì)更有格調(diào),遂棄用lib目錄,改用vendor作為第三方庫(kù)目錄。
2、根目錄下index.php修改為:
// define("LIB",VKPHP."/lib"); //第三方庫(kù)所在目錄 define("LIB",VKPHP."/vendor"); //第三方庫(kù)所在目錄 include LIB."/autoload.php"; //自動(dòng)加載第三方庫(kù)
3、core目錄下render.php修改為:
// require_once(LIB."/smarty/libs/Smarty.class.php");
因?yàn)閕ndex.php中自動(dòng)加載了所有第三方庫(kù),所以我們不再需要自己引入。
訪問 http://vkphp.dev/index/render2 ,smarty正常工作。
根目錄index.php修改為:
if(DEBUG){ ini_set("display_errors", "On"); $whoops = new WhoopsRun; $whoops->pushHandler(new WhoopsHandlerPrettyPageHandler); $whoops->register(); }else{ ini_set("display_errors", "Off"); }
訪問 http://vkphp.dev/index/render3 ,即可看到炫酷的報(bào)錯(cuò)頁(yè)面,沒錯(cuò),whoops就是一個(gè)錯(cuò)誤顯示插件。
修改app/ctrl/indexCtrl.php中的data函數(shù)為:
public function data(){ $db = new coredb(); $sql = "select * from vk_user"; $result = $db->query($sql); dump($result); dump($result->fetchAll()); }
訪問 http://vkphp.dev/index/data ,即可看到炫酷的變量輸出頁(yè)面,沒錯(cuò),var-dumper是一個(gè)變量顯示插件。
https://github.com/voidking/v...
書簽從零開始打造自己的PHP框架
Composer中文網(wǎng)
Composer中文文檔
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26192.html
摘要:市場(chǎng)上已經(jīng)有了這么多好的框架,為什么還要開發(fā)自己的框架答假裝大神。為了在裝神的道路上走的更遠(yuǎn),小編決定開發(fā)一個(gè)自己的框架,命名為。源碼分享書簽從零開始打造自己的框架 前言 使用過thinkphp和yii,涉獵過shopnc。市場(chǎng)上已經(jīng)有了這么多好的框架,為什么還要開發(fā)自己的框架?答:假裝大神。為了在裝神的道路上走的更遠(yuǎn),小編決定開發(fā)一個(gè)自己的php框架,命名為vkphp。 原文地址:h...
摘要:前言第到章,我們完成了一個(gè)屬于自己的框架,麻雀雖小五臟俱全。接下來(lái),我們使用框架開發(fā)一個(gè)迷你項(xiàng)目書簽收藏。內(nèi)包含框架的核心文件。源碼分享書簽從零開始打造自己的框架與之詳解 前言 第0到5章,我們完成了一個(gè)屬于自己的php框架,麻雀雖小五臟俱全。接下來(lái),我們使用vkphp框架開發(fā)一個(gè)迷你項(xiàng)目——書簽收藏。在開發(fā)過程中,也許會(huì)遇到很多問題,這時(shí)候我們就可以對(duì)框架進(jìn)行調(diào)整,使之更加完善。 系...
摘要:命名空間的作用解決重名問題。不同的命名空間中,可以存在相同類名和函數(shù)名。完全限定名稱,或包含了全局前綴操作符的名稱,例如,或。源碼分享書簽從零開始打造自己的框架使用命名空間基礎(chǔ)使用命名空間后備全局函數(shù)常量基礎(chǔ)安裝進(jìn)階安裝 目標(biāo) 本篇,我們來(lái)實(shí)現(xiàn)加載控制器、數(shù)據(jù)查詢和頁(yè)面渲染。 原文地址:http://www.voidking.com/2017/... 加載控制器 控制器 在app目錄下...
摘要:內(nèi)包含框架的核心文件。在目錄中,新建,內(nèi)容如下判斷文件是否存在判斷配置是否存在沒有配置項(xiàng)找不到配置文件找不到配置文件配置類在目錄中,新建配置文件和。使用修改目錄中的和。源碼分享書簽從零開始打造自己的框架 目標(biāo) 本篇,我們的目標(biāo)有三個(gè): 調(diào)整項(xiàng)目結(jié)構(gòu) 加載配置類 添加日志類 原文地址:http://www.voidking.com/2017/... 調(diào)整項(xiàng)目結(jié)構(gòu) vkphp ├─ap...
摘要:回調(diào)函數(shù)拿到,然后進(jìn)行文件的引入。支持訪問地址,無(wú)法正常獲取控制器方法和參數(shù),修改如下路由控制隱藏獲取中的控制器和方法獲取中的參數(shù)去掉項(xiàng)目名稱去掉源碼分享書簽從零開始打造自己的框架檔案引入路徑問題 目標(biāo) 本篇,我們來(lái)實(shí)現(xiàn)類庫(kù)自動(dòng)加載,以及路由解析。 原文地址:http://www.voidking.com/2017/... 類庫(kù)自動(dòng)加載 常規(guī)加載 常規(guī)加載一般使用include或者re...
閱讀 2458·2019-08-29 13:53
閱讀 2530·2019-08-29 11:32
閱讀 3082·2019-08-28 17:51
閱讀 3840·2019-08-26 10:45
閱讀 3547·2019-08-23 17:51
閱讀 3015·2019-08-23 16:56
閱讀 3359·2019-08-23 16:25
閱讀 3118·2019-08-23 14:15