CLI程序开发 - 用命令行运行PHP ¶
作者:KK
发表日期:2016.10.12
要点速读 ¶
CLI模式其实就是命令行运行模式,英文全称Command-Line Interface(命令行接口)
在新建一个PHP文件里面随便echo些东西,然后用cmd切换到这个文件所在的目录,执行
php 文件名
即可在命令行执行PHP执行
php -r "代码"
可以运行你想要的简单的测试代码,比如php -r "echo 123;"
尝试运行一个简单的CLI程序 ¶
大部分程序员在调试时写完PHP代码后都是通过访问网址,在网页上查看结果来实现测试的,然而其实PHP还可以通过其他方式来运行调试的
实现可运行php命令 ¶
为了方便运行,先将PHP目录添加到PATH变量中,确认命令行里面运行
php -v
会输出版本号在测试目录写下简单的PHP代码 ¶
找一个测试目录,比如我的目录就是
D:\test
这个目录,在里面新建一个a.php
,代码如下:<?php echo 'hello cli';
启动命令行,切换到测试目录下 ¶
运行cmd,假设你也是用
D:\test
这个测试目录,执行D:
回车,切换到D盘了然后再执行
cd D:\test
正式尝试 ¶
此时cmd正处于测试目录下了,运行
php a.php
,结果应该是输出这样的:hello cli
小结 ¶
将一个文件路径传给了php,于是php读取这个文件并解析里面的代码开始执行,最后得到输出结果并返回给了命令行,就是这么一回事
这种情况下是不需要Apache服务器的,所以可以不用建立网站就测试PHP的一些代码,这个我们通俗叫它命令行模式
,行业内专业术语叫CLI模式
(Command-Line Interface的缩写)
一般运行PHP我们主要有两种方式:
通过HTTP协议请求服务器,服务器再调用PHP,PHP运行后又把结果返回给服务器,服务器再给回请求端(一般是浏览器、APP软件或桌面软件)
通过命令行接口直接调用PHP命令,PHP运行完后将输出结果回送给命令行接口,命令行终端界面呈现给用户
CLI模式的程序有什么作用? ¶
有的事情是不需要界面的,比如典型的就是自动清理或整理一些数据,就是连接数据库,执行删除命令,然后退出程序,那这时候把这些脚本写到PHP里用命令行执行就可以了
不然为了清除数据难道还要将这个脚本放在网站目录下,然后通过网址访问来触发?想问问你如果用这种方案时内心有一种啥样感觉
不过普通小项目中都比较少用到CLI模式的程序,菜鸟程序员学这些主要就是涨知识,增加对PHP的了解吧。但如果会活用起来那还是能做很多想做的事情的,比如自动检查代码语法
随着接触项目的复杂度增加和自己的经验增加,挑战的功能越来越复杂,开发CLI程序的频率开始慢慢升高,所以这个基础功掌握一下是绝对的好事 随着接触项目的复杂度增加和自己的经验增加,挑战的功能越来越复杂,开发CLI程序的频率开始慢慢升高,所以这个基础功掌握一下是绝对的好事