当前位置: 新豪天地登录网址 > www.3559.com > 正文

安装项目依赖,从零开始打造自己的PHP框架

时间:2019-12-08 15:40来源:www.3559.com
composer 安装项目依赖?请参阅以下内容,进行入门学习: Composer Composer 是 PHP5.3以上的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Compose

composer 安装项目依赖?请参阅以下内容,进行入门学习:

Composer

Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

本篇,我们就在自己的项目中使用composer来进行依赖管理。

原文地址:http://www.voidking.com/2017/09/14/deve-vkphp-4/

附件压缩包下载

Composer 是 PHP 的一个依赖管理工具。

Composer安装项目依赖的两个先决条件:

安装Composer

1、访问Composer下载地址,下载安装对应平台的composer,安装方法参照官方文档。

2、打开命令行,输入composer -V,测试是否安装成功。

先要设置好 Windows 系统搜索路径环境变量,也就是把你的php安装目录,比方说“d:phpREphp;”“d:phpREphpext;”添加到“环境变量”路径中,实现全局安装以生成最新的“composer.phar”依赖包。

简介


图片 1

使用Composer

快捷安装:关闭防火墙→将 “Composer-Setup.exe” 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录→运行“Composer-Setup.exe”安装composer→用shift 右键打开当前命令窗口输入命令:php composer_installer.phar 正式安装composer.phar

依赖管理

Composer 将这样为你解决问题:

  • 你有一个项目依赖于若干个库。
  • 其中一些库依赖于其他库。
  • 你声明你所依赖的东西。
  • Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

在项目目录中创建一个文件,命名为:comoposer.json

初次使用

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

2、安装依赖
在根目录打开命令行,输入composer,如果composer.json文件有错误会出现提示,没有错误则提示可选参数和功能。
输入composer install,即可安装依赖到vendor目录中,并且自动生成composer.lock和vendor/autoload.php。

如果用win32的Composer-Setup.exe安装不成功,就换成下面的几步自定义安装方法,也可以轻松搞定 Composer 全局安装:

声明依赖关系

创建一个 composer.json文件,其中描述了项目的依赖关系。

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

图片 3

更新依赖

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_installer.phar"+"composer.cmd"到php目录下→用shift 右键打开当前命令窗口输入命令:

系统要求

运行 Composer 需要 PHP 5.3.2 以上版本。

在Composer.json中声明依赖关系,

更换Composer源

如果在composer installcomposer 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"
    }
}

php composer_installer.phar→生成最新的依赖包"composer.phar"→你需要使用 composer 部署第三方Apps时就在应用目录下(必须与composer.json文件同在根目录)shift 右键打开当前命令窗口→用命令“composer install/update”轻松下载安装/更新和部署Apps就OK了

安装-*nix

curl -sS https://getcomposer.org/installer | php

注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:

php -r "readfile('https://getcomposer.org/installer');" | php

你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

全局安装
你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

注意:mv可能需要root权限

图片 4

使用依赖

具体应用方式:

使用Composer

php composer.phar

如果进行了全局安装,可以直接输入:

composer

使用CMD,进入composer.josn所在的目录

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正常工作。

图片 5

①全局安装成功后可使用Comporser创建开发项目的目录架构。composer install命令是将项目所有的依赖包下载到本项目vendor目录下,而通过composer create-project <框架等依赖包原始名字>/<默认名字> <别名> <项目名> <依赖包版本号>  命令则是将所有的代码及其依赖包放到创建项目目录下,相当于执行git clone克隆命令),然后再打开此项目目录进行PhpStom本地开发和远程测试。

自动加载

除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。

require 'vendor/autoload.php';

图片 6

whoops

根目录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就是一个错误显示插件。

图片 7

②在 composer.json 文件中列出你项目所需的依赖包,加上一点简单的命令,Composer 将会自动帮你下载并设置你的项目依赖。composer require 这个指令会增加一个项目依赖,如果你还没有 composer.json 文件, 将会创建一个。下面的例子将为项目加入 Twig 依赖。

基本用法


键入指令:composer install 开始安装,下载过程较慢,请稍等

var-dumper

修改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是一个变量显示插件。

图片 8

composer require twig/twig:~1.8

composer.json:项目安装

要在项目中使用composer,只需要一个composer.json文件。

图片 9

源码分享

https://github.com/voidking/vkphp/releases/tag/v1.4.0

上面举例是需要一个版本为 ~1.8 ,意味着 “任何大于 1.8.0 ,但小于 2.0.x-dev 的版本”。你也可以使用通配符 * 在 1.8.* 之中。Composer在composer update 时将升级你的所有依赖到你限制的最新版本。

关于 require Key

列出你的项目所依赖的包:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

require 需要一个 包名称映射到 包版本的对象。

安装完安成后,请求的依赖会安装到verdor目录

书签

从零开始打造自己的PHP框架

Composer中文网

Composer中文文档

③ composer init 命令将会引导你创建一个完整的 composer.json 文件到你的项目之中。无论你使用哪种方式,一旦你创建了 composer.json 文件,你可以告诉 Composer 去下载及安装或更新升级你的依赖到 /vendor/ 目录中。

包名称

包名称由供应商名称和其项目名称构成。

图片 10

④依赖包更新通知:要接收关于新版本的更新通知。你可以注册 VersionEye,这个 web 服务可以监控你的 Github 及 BitBucket 帐号中的 composer.json 文件,并且当包有新更新时会发送邮件给你。

包版本

⑤程序中自动加载composer简单方法:只需要在引用文件中,加入下面一行引用代码

安装依赖包

php composer.phar install

install命令会创建一个composer.lock文件到你项目的根目录。

require_once __DIR__.'/vendor/autoload.php';

composer.lock文件

在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。

请提交你应用程序的 composer.lock (包括 composer.json)到你的版本库中

这是非常重要的,因为 install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。
如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件。
如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用 update命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。

⑥可以在根目录下用命令composer config repo.packagist composer composer selfupdate 检查更新以保持 Composer 一直是最新版本。

Packagist

packagist 是 Composer 的主要资源库。

编辑:www.3559.com 本文来源:安装项目依赖,从零开始打造自己的PHP框架

关键词: www.3559.com