Composer 是 php 上最优秀的依赖管理工具,所以作为一个文艺的 phper 必须要 get 起来。
上手 == 入坑 ?
不少朋友不愿意上手这货,其实之前我也不太愿意上手这货,最最主要的原因是 墙。
说多了都是泪,而且当时各种镜像简直就是坑爹货,无一能用,就算能用,也基本是拼人品的,基本上都不稳定。
甚至当时的我都是手动安装各种包,遇到了N多坑,比如依赖也手动下载,手动导入。。唉。比以前找各种插件各种类的时候还蛋疼万分。
安装 Composer
其实说简单也简单说麻烦也麻烦,因为要分 *nix 和 win 平台,所以直接丢连接自己看好了。
安装 - *nix
安装 - Windows安装完后测试下是否成功。
$ composer -V
输出类似这样的东西
Composer version 1.0-dev (1a5445132f1cbd366294924dc2fd0114dd4c843a) 2016-03-14 17:39:12
OK,恭喜,可以下一步了。
镜像是什么鬼?
不知道镜像的天朝程序员,不是一个优秀的码农。
由于强力的 GFW 导致无法上一些优秀的国外网站,所以各种镜像服务器诞生了,帮我们把这些网站上的资源都导入到了国内,我们通过修改一个配置就可以下载这些资源了。而且这些资源都是定期同步的,不需要担心资源陈旧问题。
也就是因为这个,N多人望而却步,到现在都不敢用 Composer,感觉好可惜,这么好的工具。
目前唯一还算稳定的 Composer 镜像只有 Packagist / Composer 中国全量镜像这一家了,虽然偶尔抽风。
使用方法也超简单,推荐全局配置镜像。
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
OK,镜像问题搞定了,接下来才能开始 Composer 的入门学习。
使用 Composer
官方教程虽然全面,但是啰嗦。比如他第一个例子是手动创建 composer.json 然后写入依赖,然后通过 composer install安装json 里的模块包。虽然不能说不对,可现在很少有人这么用,因为太麻烦了。
还是来些常规的用法,比如我想安装 yii2。
根据 Yii官方的安装方法是先安装 Composer Asset 插件:
$ php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"
然后安装基本的应用程序模板:
$ php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.7
或者安装高级的应用程序模板:
$ php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.7
但是,我这就出现了无数个这种错误。
Failed to decode response: zlib_decode(): data errorRetrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info
百度以后发现加上 --prefer-dist参数即可。
$ php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.7 --prefer-dist
PS:如果你安装时卡住了,八成是镜像抽风了,多试几次就好了。
OK,正常安装,然后翻看文档,发现有 --prefer-source和 --prefer-dist参数,对应下载包的两种方式:source(源码) 和 dist(发布),我们当然希望安装 dist(发布)版本啦。
OK,这是安装,那我要添加新的插件,新的依赖这么办?
且听下回分解。。。(′・ω・`)

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Atom编辑器mac版下载
最流行的的开源编辑器