该跟上时代了,学习composer,一个php包依赖的管理工具
感觉和npm差不多,npm是nodejs的包管理工具,而composer是php的包管理工具
安装
windows直接下载安装程序安装(建议是使用安装文件全局安装)
linux看上面教程的步骤,就不多说了
使用
感觉大部分命令和npm还是差不多的
安装&更新
$ composer install
//根据你目录下的composer.json文件进行依赖包安装,存放在vendor目录下,如果当前目录下存在 composer.lock 文件,它会优先从此文件读取依赖版本
$ composer update [package1] [package2]
//这个命令的作用是获取最新版本的依赖包,并且还会升级composer.lock的内容,如果后面接了包名的话,则会只更新输入的包,并且可以使用通配符,例如 vendor/*
初始化
$ composer init
//执行后会让你输入你的包的信息,然后会在目录下生成一个composer.json文件里面就包含着你刚刚输入的信息
搜索包
你可以通过命令来搜索,也可以访问这个网站进行搜索https://packagist.org/
$ composer search helloworld
google/appengine-symfony-starter-project A Symfony hello world for App Engine
ehime/hello-world Sample Composer project
pmvc-plugin/image Hello World Plugin, show you how the pmvc work
tristana/hello-world composer package demo
joomlatools/composer-helloworld A Hello World component!
aura/framework-demo A "hello world" demo for the Aura framework and system.
susomena/hello Simple 'Hello, world!' Laravel package
zoular/helloworld
yunhack/helloworld This is a test,upload a helloWorld project to Github for my first commit
weeboont/helloworld test
web/helloworld helloworld
wangyaoxu/helloworld
vishal/helloworld AWS SDK for PHP - Use Amazon Web Services in your PHP project
vijayojha89/helloworld Plugin for helloworld
vdc/helloworld helloworld
zend_mm_heap corrupted
//我搜了一下helloworld,也看了网页的,安装这个,等下试着使用它吧https://packagist.org/packages/ehime/hello-world
申明依赖
搜索到我们想用的包之后就得开始告诉我们的composer,我们要用这个包了
$ composer require ehime/hello-world
Using version ^1.0 for ehime/hello-world
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing ehime/hello-world (1.0.5): Downloading (100%)
Writing lock file
Generating autoload files
zend_mm_heap corrupted
//成功,目录下也创建了一个vendor的文件夹,再进去看一看发现多了不少东西,其中就有ehime/hello-world和autoload.php
开始使用
我们新建一个index.php文件,写代码啦
<?php
require_once './vendor/autoload.php'; //引入自动加载文件
use HelloWorld\SayHello;//使用这个包
echo SayHello::world();//调用这个包里面的方法,world
//然后运行一下会发现页面输出了 Hello World, Composer! 就证明我们成功了
//简简单单的几行
简单的使用就到这里截止,继续学习后再继续更新
文章评论