php - composer是用来干嘛的?
怪我咯
怪我咯 2017-04-11 10:11:06
[PHP讨论组]

我看laravel经常看到这个单词 不知道怎么用?是不是安装laravel的时候要用到这个软件?安装完了就没用了?为什么tp框架没用的这个composer呢 百度了一下对这个概念还是很模糊 谁能解释一下呢

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(9)
怪我咯

Composer 是用来管理依赖的。

长久以来,PHP的开源方式都是项目级的,就是说我一开源就是一个项目,比如一整套的CMS,一个框架,如Codeigniter。为啥呢?其中一个很重要的原因是你不好拆开来,如果拆开来的话,没有一个有效的管理工具组合起来,导致拆开的小模块大家无人问津。

然后Composer就出现了,它负责去管理大家开源的各个小模块,有效的整合到一起,使之成为一个完整的项目。

比如说题主您提到的 Laravel 实际上就是由好多的小模块组成的,比如说实现路由模块是由symfony/routing完成的;比如说记日志是由 monolog/monolog 实现的。

当你用 composer 安装 laravel 的时候,composer 会自动检测所需依赖并下载,表现出来就是执行完命令后满屏滚动安装各种模块。

阿神

学习一下给你 http://www.phpcomposer.com/

高洛峰

composer 是一个PHP代码依赖管理工具之一
比方说你的项目需要用到PHPmail这个类库,只要按照composer的格式,composer
就能自动帮你拉下这个代码库到你项目中.

阿神

thinkphp5 也支持了composer
composer 可以提供升级支持吧,大概像yum

伊谢尔伦

使用如:orm、email、图像处理、分页处理、模板引擎,上传,以及一些与具体业务相关的功能等等,如果你的项目使用了composer,当你想实现某个功能的时候,建议你先到http://packagist.org上搜一下,说不定就有现成的库可用,提高开发效率。

天蓬老师

nodejs有npm,php有composer,有了包进行依赖管理可以快速开发,比如你要开发微信,可以
搜索WeChat

找到第一个overtrue/wechat

安装
composer require "overtrue/wechat:~3.1" -vvv //还可以安装指定版本

composer.lock包含了所有安装包的版本,只要发送这个文件给同事进行安装,就可以保证大家使用的代码是一致的,更多参考官网吧。

安装后会自动生成一个vendor目录放wechat源代码,vendor目录下有个autoload.php,使用的话如下:

require './vendor/autoload.php';
#通过spl_autoload_register自动加载所需要类文件

use EasyWeChat\Foundation\Application;

$options = [
    'debug'     => true,
    'app_id'    => 'wx3cf0f39249eb0e60',
    'secret'    => 'f1c242f4f28f735d4687abb469072a29',
    'token'     => 'easywechat',
    'log' => [
        'level' => 'debug',
        'file'  => '/tmp/easywechat.log',
    ],
    // ...
];

$app = new Application($options);

$server = $app->server;
$user = $app->user;

$server->setMessageHandler(function($message) use ($user) {
    $fromUser = $user->get($message->FromUserName);

    return "{$fromUser->nickname} 您好!欢迎关注 overtrue!";
});

$server->serve()->send();

laravel的index.php 就这么加载的 require __DIR__.'/../bootstrap/autoload.php';

ringa_lee

依赖管理
就像node的npm,java的maven

黄舟

php依赖管理工具composer入门教程

黄舟

和npm一样 php的依赖管理工具。现在开发都是组件式开发,tp5也引入了composer

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号