我看laravel经常看到这个单词 不知道怎么用?是不是安装laravel的时候要用到这个软件?安装完了就没用了?为什么tp框架没用的这个composer呢 百度了一下对这个概念还是很模糊 谁能解释一下呢
我看laravel经常看到这个单词 不知道怎么用?是不是安装laravel的时候要用到这个软件?安装完了就没用了?为什么tp框架没用的这个composer呢 百度了一下对这个概念还是很模糊 谁能解释一下呢
composer 是一个PHP代码依赖管理工具之一
比方说你的项目需要用到PHPmail这个类库,只要按照composer的格式,composer
就能自动帮你拉下这个代码库到你项目中.
使用如: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';
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
1 回答1.2k 阅读
Composer 是用来管理依赖的。
长久以来,PHP的开源方式都是项目级的,就是说我一开源就是一个项目,比如一整套的CMS,一个框架,如Codeigniter。为啥呢?其中一个很重要的原因是你不好拆开来,如果拆开来的话,没有一个有效的管理工具组合起来,导致拆开的小模块大家无人问津。
然后Composer就出现了,它负责去管理大家开源的各个小模块,有效的整合到一起,使之成为一个完整的项目。
比如说题主您提到的 Laravel 实际上就是由好多的小模块组成的,比如说实现路由模块是由symfony/routing完成的;比如说记日志是由 monolog/monolog 实现的。
当你用 composer 安装 laravel 的时候,composer 会自动检测所需依赖并下载,表现出来就是执行完命令后满屏滚动安装各种模块。