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官网)
- 3 Composer难理解?那么说明你对PHP这些功能不了解
- php-composer 说明
- 你不了解PHP的10件事情
- 你不了解PHP的10件事情
- php你可能不了解的东西
- 你不了解PHP的10件事情!
- 你不了解PHP的10件事情
- 你不了解PHP的10件事情
- 你不了解PHP的10件事情
- [翻译] 10 件(也许)你不了解 PHP 的事情
- 10 件(也许)你不了解 PHP 的事情
- 很多人对反射、类型、装配件这些概念都还不了解!
- Composer帮你轻松管理PHP包
- Composer帮你轻松管理PHP包
- Composer帮你轻松管理PHP包
- 《你不了解的宋朝》
- 你还不了解HTML5
- 你不了解的awk
- Generate Parentheses
- 端口分类调研
- java的BIO实现
- Python数据分析基础(五)——数据规整
- 移动端1px像素设置
- 3 Composer难理解?那么说明你对PHP这些功能不了解
- 省队集训Round2 DAY2
- jQuery源码阅读(一)---jQuery源码整体架构
- Java数据类型
- 使用apache poi 实现Excel批量导入
- leetcode617. Merge Two Binary Trees
- 一个嵌入式课程设计
- 图谱
- java中int i 会出现i+1<i或者i-1>i吗