PHP进阶,使用交互模式进行快速测试实验?
额,那啥,PHP很强,大家都知道哈。不过呢,在搞PHP里的人中,自然也要分高下的。当然了,我更喜欢用好玩来形容了。
什么叫做快速开发?我觉得,快就得快到随手写几个字,就能让代码跑起来!那么,PHP能做到吗?答案是的。
比如:我想写个“hello,world”,咋整呢?就这样吧:
<?
echo 'hello, world';
这叫快速!当然了,这个得保存文件,然后才能运行。
php -r "echo 'hello, world'"
这叫快速~!直接一条命令就运行出来了。
后面这个命令,基本可以满足咋们需要的快速测试了。比如,我想 rand 方法的随机值,是否包含上下界,那么,除了百度,除了看文档,我们还可以试验出真知。
php -r "echo rand(0, 3);"
多执行几次,就能看到所有的可能结果了。很明显,包含了,0,3。
这个命令,个人觉得还是很牛b的。那么,有时候,可能需要输入更多的代码,这时,就应该要用到更多的交互了,然后就应该使用PHP的交互模式了。
没错,php -a 。但是,其实,php -a 不是所有环境都能很好的运行的,比如windows中,就不能很好的支持,原本以为应该是看到这样的:

实际上是这样的:

关键是遇到这种情况,一直按enter,或者其他键,都没有响应,这就尴尬了。
而实际上,这里的解决办法是,enter 》 ctrl + z 》 enter,然后就执行了。

这里的 ctrl + z 在linux上为 ctrl + d; 用这种方式,可以执行一段测试代码,这样,也就可以快速验证些东西了。
附:
php -i # --info 该命令行参数会调用 phpinfo() 函数并显示出结果。如果 PHP 没有正常工作,建议执行 php -i 命令来查看在信息表格之前或者对应的地方是否有任何错误信息输出。请注意当使用 CGI 摸索时,输出的内容为 HTML 格式,因此输出的信息篇幅较大。
php -l a.php # --syntax-check
对指定 PHP a.php 代码进行语法检查,是否有语法错误
php -m # --modules
使用该参数,PHP 将打印出内置以及已加载的 PHP 及 Zend 模块
php -v # --version
将 PHP,PHP SAPI 和 Zend 的版本信息写入标准输出。
其实,诸如php一类的脚本语言,如perl,python,node,js 都会提供这样的交互式模式,快速运行验证。不过,php如果不细研究的话,应该不太会注意他的这功能吧。
发现些好玩的东西,也是一种乐趣。
PHP进阶,使用交互模式进行快速测试实验?的更多相关文章
- 交互模式下测试python代码及变量的四则运算
在交互模式下,python代码可以立即执行,所以这很方便我们进行代码测试 1.命令窗口,输入python (如果没配置环境变量则需带python安装目录的绝对路径) >>> 这个就是 ...
- Golang的交互模式进阶-读取用户的输入
Golang的交互模式进阶-读取用户的输入 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 读写数据除了 fmt 和 os 包,我们还需要用到 bufio 包来处理缓冲的输入和输出. ...
- Slickflow.NET 开源工作流引擎高级开发(二) -- 流程快速测试增值服务工具介绍
前言:流程是由若干个任务节点组成,流转过程就是从一个节点转移到下一个节点,通常需要不断切换用户身份来完成流程的测试,这样使得测试效率比较低下,本文从实战出发,介绍常见的两种快速测试方法,用于提升流程测 ...
- 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试
决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...
- [.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化
[.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化 本节导读: 介绍JSON的结构,在JS中的使用.重点说明JSON如何在.N ...
- Centos启动Cassandra交互模式失败:No appropriate python interpreter found
在CentOS6.5安装好Cassandra后,启动交互模式: bin/sqlsh 192.168.10.154 时,报错 No appropriate python interpreter foun ...
- python交互模式下cp65001异常
unknown encoding: cp65001异常 python安装后进入命令行交互模式,输入任何代码都报unknown encoding: cp65001异常 需要将编码(UTF-8)修改为 简 ...
- Ext学习-前后交互模式介绍
在前后台交互模式的介绍中,实际上就是Store中Proxy相关的内容,比如Ajax提交. 所以详细的文档请参考: Ext学习-基础概念,核心思想介绍 中关于数据模型和MVC结构部分. 作者:sdj ...
- Python 手册——参数传递以及交互模式
我们先来看参数传递. 调用解释器时,脚本名和附加参数之传入一个名为sys.argv的字符串列表.没有脚本和参数时,它至少也有一个 元素:sys.argv[0]此时为空字符串.脚本名指定为‘ - ’(表 ...
随机推荐
- php数据库备份脚本
// 备份数据库 $host = "localhost"; $user = "root"; //数据库账号 $password = ""; ...
- Linux下批量修改文件名方法
对于在Linux中修改文件名的方式一般我们会用mv命令进行修改,但是mv命令是无法处理大量文件修改名称. 但是在处理大量文件的时候该如何进行批量修改呢? 方法一:mv配合for循环方式进行修改 [ro ...
- form表单提交和ajax提交优先级
form中若定义action,那么,ajax将不能执行.form默认提交的请求优先级高于ajax
- PHP-学习之路1
相信入职快有5个月了,目前项目做过HIS,zySystem,ComStoreSystem当然今天不是来介绍的,后期直到第四个月后APP护身宝经理拍板今后也就是明年正式交于我们团队接手与扩展,运维.虽然 ...
- django序列化时使用外键的真实值
展示: 普通情况下序列化得到的外键的内容仅仅是id: ... { fields: { uat_date: "2015-07-25", statu: "CG", ...
- javascript 正則表達式补充
定义 JavaScript种正則表達式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- 纯CSS实现图片
在Web开发中.通过CSS代码也能够实现一些简单的图片,当然,假设你有耐心,也能够实现较为复杂的图片噢. 那么请问为什么有图片不去用而须要用CSS来实现呢?一是由于性能的原因,图片带给server和c ...
- 自学Zabbix3.6.4-触发器triggers dependencies依赖关系
有时,一个主机的可用性取决于另一个主机.如果路由器坏了,某个路由器后面的服务器就会变得不可访问.对于两个主机都配置了触发器,您可能会收到两个主机的通知,而只有路由器是有罪的一方.这是主机之间的一些依赖 ...
- vertical-align 和 img属性 和 鼠标样式
一.vertical-align 一)定义:定义行内元素的基线相对于该所在基线的垂直对齐.(只针对行类块inline/inline-block/<img>,块级不适用!) 二)语法: 三 ...
- java 对象的初始化过程
PersonDemo p=new PersonDemo("lisi",20);这句话都做了什么事情? 因为new用到了PersonDemo.class,所以会先找到PersonDe ...