摘要:本篇,我们就在自己的项目中使用来进行依赖管理。输入,即可安装依赖到目录中,并且自动生成和。安装依赖,提示从提示可以看出,读取的是中的依赖,而不是最新的。访问,正常工作。源码分享书签从零开始打造自己的框架中文网中文文档
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中文文档
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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...
阅读 2408·2019-08-29 13:53
阅读 2483·2019-08-29 11:32
阅读 3030·2019-08-28 17:51
阅读 3747·2019-08-26 10:45
阅读 3468·2019-08-23 17:51
阅读 2964·2019-08-23 16:56
阅读 3316·2019-08-23 16:25
阅读 3052·2019-08-23 14:15