我看laravel经常看到这个单词不知道怎么用?是不是安装laravel的时候要用到这个软件?安装完了就没用了?为什么tp框架没用的这个composer呢百度了一下对这个概念还是很模糊谁能解释一下呢
Composer是用来管理依赖的。
长久以来,PHP的开源方式都是项目级的,就是说我一开源就是一个项目,比如一整套的CMS,一个框架,如Codeigniter。为啥呢?其中一个很重要的原因是你不好拆开来,如果拆开来的话,没有一个有效的管理工具组合起来,导致拆开的小模块大家无人问津。
然后Composer就出现了,它负责去管理大家开源的各个小模块,有效的整合到一起,使之成为一个完整的项目。
比如说题主您提到的Laravel实际上就是由好多的小模块组成的,比如说实现路由模块是由symfony/routing完成的;比如说记日志是由monolog/monolog实现的。
当你用composer安装laravel的时候,composer会自动检测所需依赖并下载,表现出来就是执行完命令后满屏滚动安装各种模块。
学习一下给你
composer是一个PHP代码依赖管理工具之一
比方说你的项目需要用到PHPmail这个类库,只要按照composer的格式,composer
就能自动帮你拉下这个代码库到你项目中.
thinkphp5也支持了composer
composer可以提供升级支持吧,大概像yum
使用如:orm、email、图像处理、分页处理、模板引擎,上传,以及一些与具体业务相关的功能等等,如果你的项目使用了composer,当你想实现某个功能的时候,建议你先到
nodejs有npm,php有composer,有了包进行依赖管理可以快速开发,比如你要开发微信,可以
找到第一个
安装composerrequire"overtrue/wechat:~3.1"-vvv
//还可以安装指定版本
composer.lock包含了所有安装包的版本,只要发送这个文件给同事进行安装,就可以保证大家使用的代码是一致的,更多参考官网吧。
安装后会自动生成一个vendor目录放wechat源代码,vendor目录下有个autoload.php
,使用的话如下:
require'./vendor/autoload.php';#通过spl_autoload_register自动加载所需要类文件useEasyWeChat\Foundation\Application;$options=['debug'=>true,'app_id'=>'wx3cf0f39249eb0e60','secret'=>'f1c242f4f28f735d4687abb469072a29','token'=>'easywechat','log'=>['level'=>'debug','file'=>'/tmp/easywechat.log',],//...];$app=newApplication($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';
依赖管理
就像node的npm,java的maven
和npm一样php的依赖管理工具。现在开发都是组件式开发,tp5也引入了composer