摘要:本篇,我們就在自己的項目中使用來進行依賴管理。輸入,即可安裝依賴到目錄中,并且自動生成和。安裝依賴,提示從提示可以看出,讀取的是中的依賴,而不是最新的。訪問,正常工作。源碼分享書簽從零開始打造自己的框架中文網中文文檔
Composer
Composer 是 PHP5.3以上 的一個依賴管理工具。它允許你申明項目所依賴的代碼庫,它會在你的項目中為你安裝他們。Composer 不是一個包管理器。是的,它涉及 "packages" 和 "libraries",但它在每個項目的基礎上進行管理,在你項目的某個目錄中(例如 vendor)進行安裝。默認情況下它不會在全局安裝任何東西。因此,這僅僅是一個依賴管理。
本篇,我們就在自己的項目中使用composer來進行依賴管理。
原文地址:http://www.voidking.com/2017/...
安裝Composer1、訪問Composer下載地址,下載安裝對應平臺的composer,安裝方法參照官方文檔。
2、打開命令行,輸入composer -V,測試是否安裝成功。
使用Composer 初次使用1、在項目根目錄下新建composer.json,內容如下:
{ "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": "voidking@qq.com", "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。
版本號選擇參照下表:
2、安裝依賴
在根目錄打開命令行,輸入composer,如果composer.json文件有錯誤會出現提示,沒有錯誤則提示可選參數和功能。
輸入composer install,即可安裝依賴到vendor目錄中,并且自動生成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時非常慢,那么我們可以更換Composer源。
訪問Composer中國鏡像站,參照文檔,在composer.json所在目錄中執行:
composer config repo.packagist composer https://packagist.phpcomposer.com
或者,直接在composer.json中添加:
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }使用依賴 smarty
1、當前,lib目錄和vendor目錄中都包含了smarty,使用verdor中的smarty會更有格調,遂棄用lib目錄,改用vendor作為第三方庫目錄。
2、根目錄下index.php修改為:
// define("LIB",VKPHP."/lib"); //第三方庫所在目錄 define("LIB",VKPHP."/vendor"); //第三方庫所在目錄 include LIB."/autoload.php"; //自動加載第三方庫
3、core目錄下render.php修改為:
// require_once(LIB."/smarty/libs/Smarty.class.php");
因為index.php中自動加載了所有第三方庫,所以我們不再需要自己引入。
訪問 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 ,即可看到炫酷的報錯頁面,沒錯,whoops就是一個錯誤顯示插件。
修改app/ctrl/indexCtrl.php中的data函數為:
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 ,即可看到炫酷的變量輸出頁面,沒錯,var-dumper是一個變量顯示插件。
https://github.com/voidking/v...
書簽從零開始打造自己的PHP框架
Composer中文網
Composer中文文檔
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26192.html
摘要:市場上已經有了這么多好的框架,為什么還要開發自己的框架答假裝大神。為了在裝神的道路上走的更遠,小編決定開發一個自己的框架,命名為。源碼分享書簽從零開始打造自己的框架 前言 使用過thinkphp和yii,涉獵過shopnc。市場上已經有了這么多好的框架,為什么還要開發自己的框架?答:假裝大神。為了在裝神的道路上走的更遠,小編決定開發一個自己的php框架,命名為vkphp。 原文地址:h...
摘要:前言第到章,我們完成了一個屬于自己的框架,麻雀雖小五臟俱全。接下來,我們使用框架開發一個迷你項目書簽收藏。內包含框架的核心文件。源碼分享書簽從零開始打造自己的框架與之詳解 前言 第0到5章,我們完成了一個屬于自己的php框架,麻雀雖小五臟俱全。接下來,我們使用vkphp框架開發一個迷你項目——書簽收藏。在開發過程中,也許會遇到很多問題,這時候我們就可以對框架進行調整,使之更加完善。 系...
摘要:命名空間的作用解決重名問題。不同的命名空間中,可以存在相同類名和函數名。完全限定名稱,或包含了全局前綴操作符的名稱,例如,或。源碼分享書簽從零開始打造自己的框架使用命名空間基礎使用命名空間后備全局函數常量基礎安裝進階安裝 目標 本篇,我們來實現加載控制器、數據查詢和頁面渲染。 原文地址:http://www.voidking.com/2017/... 加載控制器 控制器 在app目錄下...
摘要:內包含框架的核心文件。在目錄中,新建,內容如下判斷文件是否存在判斷配置是否存在沒有配置項找不到配置文件找不到配置文件配置類在目錄中,新建配置文件和。使用修改目錄中的和。源碼分享書簽從零開始打造自己的框架 目標 本篇,我們的目標有三個: 調整項目結構 加載配置類 添加日志類 原文地址:http://www.voidking.com/2017/... 調整項目結構 vkphp ├─ap...
摘要:回調函數拿到,然后進行文件的引入。支持訪問地址,無法正常獲取控制器方法和參數,修改如下路由控制隱藏獲取中的控制器和方法獲取中的參數去掉項目名稱去掉源碼分享書簽從零開始打造自己的框架檔案引入路徑問題 目標 本篇,我們來實現類庫自動加載,以及路由解析。 原文地址:http://www.voidking.com/2017/... 類庫自動加載 常規加載 常規加載一般使用include或者re...
閱讀 2423·2019-08-29 13:53
閱讀 2507·2019-08-29 11:32
閱讀 3047·2019-08-28 17:51
閱讀 3776·2019-08-26 10:45
閱讀 3492·2019-08-23 17:51
閱讀 2983·2019-08-23 16:56
閱讀 3337·2019-08-23 16:25
閱讀 3085·2019-08-23 14:15