如何使 Composer 使命召唤ol怎么跑得快更快

41505人阅读
持续化集成(16)
在项目中使用composer.json
在项目中使用composer,你需要有一个composer.json文件,此文件的作用主要用来声明包之间的相互关系和其他的一些元素标签。
require&关键字
第一件事情在composer.json就是使用require关键字了,你将告诉composer哪些包是你项目所需要的
&require&: {
&monolog/monolog&: &1.0.*&
如你所见,require的对象将会映射包的名称(&monolog/monolog)和包的版本是1.0.*
基本上包的命名是 主名/项目名称(&monolog/monolog),主名必须唯一,但是项目也就是我们的包的名称可以有相同的,例如: igorw/json,和seldaek/json
我们需要使用monolog的版本是1.0.*,他的意思是只要版本是1.0分支即可,例如1.0.0,1.0.2或者1.0.99
版本定义的两种方式:
标准的版本:定义保准的版本包文件,如:1.0.2
一定范围的版本:使用比较符号来定义有效的版本的范围,有效的符号有&,&&=,&&,&=,&!=
通配符:特别的匹配符号*,例如1.0.*就相当于&=1.0,&1.1版本的即可
下一个重要的版本:~符号最好的解释就是,~1.2就相当于&1.2,&2.0,但~1.2.3就相当于&=1.2.3,&1.3版本。&&&
在项目文件路径下运行
$ composer install
这样子他会自动下载monolog/monolog文件到你的vendor目录下面。
接下来需要说明一件事情就是
composer.lock&- 锁定文件
在安装完所有需要的包之后,composer会生成一张标准的包版本的文件在composer.lock文件中。这将锁定所有包的版本。
使用composer.lock(当然是和composer.json一起)来控制你的项目的版本
这一点非常的重要,我们使用install命令来处理的时候,它首先会判断composer.lock文件是否存在,如果存在,将会下载相对应的版本(不会在于composer.json里面的配置),这意味着任何下载项目的人都将会得到一样的版本。
如果不存在composer.lock,composer将会通过composer.json来读取需要的包和相对的版本,然后创建composer.lock文件
这样子就可以在你的包有新的版本之后,你不会自动更新了,升级到新的版本,使用update命令即可,这样子就能获取最新版本的包并且也更新了你的composer.lock文件。
$ php composer.phar update
$ composer update
Packagist(这应该就是composer,感觉有点像python的包,虽然没那么强大,呵呵,有了这种标准以后,以后大家开发网站绝对会很轻松,可以借鉴很多人的代码了,并且更加方便了!)
是composer的主要仓库,大家可以去看看,composer仓库的基础是包的源码,你可以随意的获取,的目的建成一个任何人都可以使用的仓库,这就意味着在你的文件中任意的require包了。
关于自动加载
为了方便的加载包文件,Composer自动生成了一个文件 vendor/autoload.php,你可以方便只有的使用它在任何你需要使用的地方
require 'vendor/autoload.php';
这意味着你可以非常非常方便的使用第三方代码了,假设你的项目需要使用monlog,你直接使用吧,他们都已经自动加载了的!
$log = new Monolog\Logger('name');
$log-&pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log-&addWarning('Foo');
当然你也可以在composer.json中加载自己的代码:
&autoload&: {
&psr-0&: {&Acme&: &src/&}
composer将会把psr-0注册为Acme的命名空间
你可以定义一个映射通过命名空间到文件目录,src目录是你的根目录,vendor是同一级别的目录,例如一个文件为:src/Acme/Foo.php就包含了Acme\Foo类
当你在增加autoload之后,你必须要重新install来生成vendor/autoload.php文件
在我们引用此文件的时候,将会返回一个autoloader类的实力,所以你可以把返回的值放入一个变量,然后在增加更多的命名空间,如果在开发环境下这是非常方便的,例如:
$loader = require 'vendor/autoload.php';
$loader-&add('Acme\Test', __DIR__);
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:392831次
积分:3431
积分:3431
排名:第10191名
原创:52篇
转载:115篇
评论:23条
(1)(2)(10)(22)(38)(3)(14)(18)(5)(2)(5)(2)(19)(11)(10)(5)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'如何让WordPress在快一点,绝对秒开
此文为()原创内容,特此声明,声明申请入驻搜狐自媒体!
让WordPress加速,貌似是很多朋友们遇到的一个重大问题,目前使用WordPress程序建站的朋友越来越多,但是这款程序的速度真的是不尽人意,特别是很多朋友喜欢用国外的一些主题,虽然说非常美观,但是速度上真的很让人蛋疼,之前有网友说过,为什么国外主题的演示站打开速度就很快呢,真的是跟主机有关系吗?开始我也是这么以为,特别是使用WPBakery
Composer所见即所得可视化插件之后,速度更是慢的不行不行的,并且我更想到最新版本后,还出现了各种各样的问题。不过我通过一个办法,问题解决了不说,我的博客程序打开速度也非常快。今天微感创意就把这个方法分享给大家,希望每个朋友都能够用WordPress搭建出越来更漂亮的网站。
1.使用英文后台,可提速,可秒开。
使用英文后台,这个方法比较适用于骨灰级的作者,也就是说对WordPress非常了解的朋友,知道哪里该发布文章,哪里该激活插件等等。之前我用WPBakery
Composer这款可视化插件新建页面时,发生了许多报错,及时我关闭了所有插件,也都还是不行,结果我进行重装,并且将程序语言切换成中文,奇迹发生了,可以新建页面了,同时我打开首页,感觉也快了不少,我试着重新删除浏览器缓存,在重新加载,欧耶,居然秒开,看来WordPress加载中文时的确浪费了很多时间,并且之前很多网友也反应,使用WordPress中文版容易程序错误。所以,想要让博客速度翻倍,并且减少错误的朋友,建议大家都切换成为英文版。
2.使用CDN,使用360字体库。
这个方法应该是比较普遍的方法,很多朋友也都在用,例如字体切换成360的字体库等等一些方法,这里作者不得不提了,很多作者都在误导大家,例如使用镜像插件,这种插件不是不好,但别忘记,现在已经2016年了,科技发生了改变,技术也有所不同,所以还是希望大家换个方法,直接用网站CDN加速,例如百度云加速等等,都可以,使用又拍云或七牛云也可以,如果你用的是国内主题,很多主题自带优化,并且程序本身就很小,加载速度很快,如果这个时候用CDN加载外部CSS或JS,只会雪上加霜。毕竟那些网站压缩插件只是针对内部文件,并非外部,如果使用缓存插件,整个页面不会加载多余JS或CSS,所以这个道理大家应该明白。当然如果使用国外主题,除了需要更改谷歌字体库外,还是需要CDN镜像资源的。具体原因呢,大家自己体验吧,这里不多说。
3.使用Autoptimize插件
我非常喜欢Autoptimize这个插件,非常精巧,他不仅能够压缩网页,减少HTML之间的空格,合并压缩CSS和JS,还有一个特别的功能,那就是CDN加速,如果说您的网站用了或七牛这类功能,那么好吧,您可以减少一个插件了,直接用这个插件代替,效果会超出您的想象。
网站插件当然是越少越好,当然有时候我也有很多需要,如果您用了CDN,只需要Autoptimize这个插件就好,如果您也和小编一样用的是国外主题,那就将后台切换成英文吧,会让您的网站翻倍提速。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。PHP 开发者该知道的 5 个 Composer 小技巧 &你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
在做项目过程中,通过composer来维护依赖确实很方便,但有时候把库加进来后发现没用,久而久之无用的库越来越多,
不知composer有没有清理无用依赖的库
composer remove some/package
要回复问题请先或
浏览: 6892
关注: 2 人

我要回帖

更多关于 使命召唤ol跑步技巧 的文章

 

随机推荐