PHP能做什么
PHP官方文档不要脸的说PHP能做任何事,这和业界广为流传气死其他程序员不偿命的PHP是最好的语言可真是遥呼相应。
PHP主要用于以下三个领域
(1) 服务端脚本
这是最主要的领域,PHP 解析器(CGI 或者服务器模块)和web服务器(如Apache、Nginx)搭配使用。
(2) 命令行脚本
这种方式,仅仅只需要 PHP 解析器来执行。联想一下Python就会明白。
(3) 桌面应用程序
通过一些扩展库如PHP-GTK可以使用PHP编写桌面应用程序。不过这得多无聊才会去干这事。
命令行开发
以下操作是在Mac下进行
进入php目录,或将php目录放到环境变量中。(Mac忽略这一步)
查看PHP引擎
php -v# 输出PHP 5.5.27 (cli) (built: Jul 23 2015 00:21:59) Copyright (c) 1997-2015 The PHP GroupZend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
查看使用帮助
php -h# 输出Usage: php [options] [-f] <file> [–] [args…] php [options] -r <code> [–] [args…] php [options] [-B <begin_code>] -R <code> [-E <end_code>] [–] [args…] php [options] [-B <begin_code>] -F <file> [-E <end_code>] [–] [args…] php [options] -S <addr>:<port> [-t docroot] php [options] — [args…] php [options] -a -aRun as interactive shell -c <path>|<file> Look for php.ini file in this directory -nNo php.ini file will be used -d foo[=bar]Define INI entry foo with value ‘bar’ -eGenerate extended information for debugger/profiler -f <file>Parse and execute <file>. -hThis help -iPHP information -lSyntax check only (lint) -mShow compiled in modules -r <code>Run PHP <code> without using script tags <?..?> -B <begin_code> Run PHP <begin_code> before processing input lines -R <code>Run PHP <code> for every input line -F <file>Parse and execute <file> for every input line -E <end_code> Run PHP <end_code> after processing all input lines -HHide any passed arguments from external tools. -S <addr>:<port> Run with built-in web server. -t <docroot>Specify document root <docroot> for built-in web server. -sOutput HTML syntax highlighted source. -vVersion number -wOutput source with stripped comments and whitespace. -z <file>Load Zend extension <file>. args…Arguments passed to script. Use — args when first argumentstarts with – or script is read from stdin –iniShow configuration file names –rf <name>Show information about function <name>. –rc <name>Show information about class <name>. –re <name>Show information about extension <name>. –rz <name>Show information about Zend extension <name>. –ri <name>Show configuration for extension <name>.
执行一个PHP文件
php [-f] xxx.php
可以传参数
php [-f] xxx.php ‘hello’ ‘world’ 2015
传递给脚本的参数可在全局变量$argv中获取,,全局变量$argc存有$argv数组中成员变量的个数(而非传送给脚本程序的参数的个数)
001.php
<?phpvar_dump($argc);echo “\n”;var_dump($argv);?>
执行001.php
php 001.php ‘hello world’ 2015
输出
int(3)array(3) { [0]=> string(7) “001.php” [1]=> string(11) “hello world” [2]=> string(4) “2015”}
也可以直接运行 PHP 代码
php -r ‘echo “Hello World\n”;’#输出Hello World
当然,PHP的命令行开发不仅以上这些内容,这里可以查看更多
擒龙要下海,打虎要上山。