3 Composer难理解?那么说明你对PHP这些功能不了解

来源:互联网 发布:网络社会组织 编辑:程序博客网 时间:2024/06/07 03:01

Composer难理解?那么说明你对PHP这些功能不了解

PHP

  • 一度被认为PHP只能做网站,却不知PHP首先是一个脚本型语言,靠解释器器运行。(在一定程度上、一定范围内和python可以媲美)

  • 在Linux 里面正常编译后会有一个可执行程序 :php

  • windows里面可执行程序是php.exe

  • 这是一个“母体”,包含了很多你可能并没有接触过的功能.

php.exe(其中.exe后缀可以省略) 文件名 就是最简单的运行PHP的方式.

其中 php在读取文件后,发现里面有

同样 -r 参数可以让PHP执行运行代码

譬如 php -r “这里写一段没有语法错误的PHP代码”

要注意的是用了 -r参数,代码中不需要写

php -r "readfile('http://localhost:9090/hehe');"

这样就可以把远程的某个文件给读取出来.

然后利用管道的方式,再次把读取出来的内容 赋给PHP来执行

php -r "readfile('http://localhost:9090/hehe');"  | php

加点料,在hehe文件里加上一句

file_put_contents("abc.txt","test");

再去执行,就会在当前目录下生成一个叫做abc.txt

那么我们如果发挥想象,要扩展点其他内容还难吗?

命令行中的浏览器curl

往往正常安装的Linux是自带这个软件的(注意”软件”用词)

windows一般没有,那么其实可以去网上下载这个软件

https://curl.haxx.se/download.html

同样,

curl 网址 | php

照样可以执行

神马是phar

  • c#可以把代码打包成dll

  • java可以把代码打包成jar

  • 那凭什么PHP不可以。 实际上在PHP5.3 之后就出现了类似jar的东西叫做phar

php haxqer.phar

需要做一些设置

  • php.ini
  • 找到phar.readonly 把它设置为off

压缩代码如下

<?php$phar = new Phar('haxqer.phar'); //创建一个phar包$phar->buildFromDirectory(__DIR__.'/files', '/\.php$/');//把当前文件夹下的files作为编译目录$phar->compressFiles(Phar::GZ);使用gzip来压缩$phar->setStub($phar->createDefaultStub('index.php'));//设置入口文件

当我执行

php haxqer.phar

时它首先去执行的文件(好比main函数)

Composer

  • 现在好多语言都有依赖管理工具(什么是依赖?譬如我写了一个很牛逼的程序,你要用,那么你就依赖我,我就是你的依赖)

  • nodejs有npm工具。python有pip ,java有maven。 那么PHP总要搞一个嘛,那就是composer。

  • 无非是大家把库文件统一放到某个网站里,然后弄个很屌的工具,利用命令行的方式来下载、规范、统一加载和运行。

  • 通过梳理后,我们再去看docs.phpcomposer.com/ (composer官网)

原创粉丝点击