你观看了php的精通教程-开始后你在阅读这篇文章,让你现在正是踏入php学习。接下来我将给大家讲述输出一个字符串”SKY8G
” ,我不跟其他教程一样输出hello,world!
字符串。为了使让初学者更好的学习php,能够学以致用。下面我们通过一个php代码进行讲解。
输出SKY8G字符串
首先要想把这个SKY8G
字符串输出到浏览器中,在浏览器里面显示,需要使用下载php软件,php软件源码既是由C原因编写,所以php不需要编译即可执行。如果你使用前一章讲的安装xampp集成开发环境,已经安装了xampp可以忽略下面的步骤,因为集成开发环境里面有php的软件、mysql数据库软件等等。
如果需要快速的学习php,同时不想那么多的配置。就直接下载官网的PHP源码进行安装即可。PHP 5.4+
以上附带了内置的开发服务器,我们可以使用它进行测试。
1.下载php软件官网 https://windows.php.net/download,目前是PHP 7.3最新的版本。打开这个链接后可以发现有很多版本,这里我们下载最新的7.3.9。找到Windows downloads链接并点击进入。注意,我们这里要下载Thread Safe安全版,不要下载Non Thread Safe的版本。而x86代表的是32位系统,x64是64位系统,大家根据自己的操作系统版本来选择。我这里是下载了VC15 x64 Thread Safe (2019-Aug-28 12:45:27)
的ZIP包。下载后会有一个 php-7.3.9-Win32-VC15-x64.zip
压缩包。
2.把下载的这个包复制到你要安装的目录。例如我们解压到windows的f
盘 :F:\php\php-7.3.9-Win32-VC15-x64
,就这样就行,应为你下载的是windows的版本。
3.我们使用win+R
键调出console 命令框。输入cmd.exe
回车即可,这是我们切换到你复制php的那个目录(F:\php\php-7.3.9-Win32-VC15-x64
)。使用F:
既是切换分区盘。
4.在使用下面的命令进行。
1 | cd F:\php\php-7.3.9-Win32-VC15-x64 |
5.执行了上面的一步,之后你可以查看你的php版本号。我们就可以使用PHP的命令了,因为你已经到了php的软件目录既可以使用。(如果你想在全局使用php命令则需要配置环境变量,这里我们为了快速测试,不再配置,如喜欢自己网上百度搜索配置PHP环境变量即可),执行php -V
,输出下面的php版本如下。
1 2 3 | PHP 7.3.9 (cli) (built: Aug 28 2019 09:28:48) ( ZTS MSVC15 (Visual C++ 2017) x64 ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies |
6.php安装完成,我们在F:\php的文件夹目录里面那里创建一个文件夹为php-test-demo这个文件夹做我们放php的代码使用的。为我们在执行F:\php\php-7.3.9-Win32-VC15-x64>php -S localhost:8000 -t F:\php\php-test-demo
这个命令怎么样,看到了吧是不是很酷,直接相当于直接下载即可使用,纯净绿色版。接下来就让我带你进入php的大门吧。
1 | php -S localhost:8000 -t F:\php\php-test-demo |
通过上面的命令你可以看到:
1 2 3 4 5 | F:\php\php-7.3.9-Win32-VC15-x64>php -S localhost:8000 -t F:\php\php-test-demo PHP 7.3.9 Development Server started at Tue Sep 3 20:14:21 2019 Listening on http://localhost:8000 Document root is F:\php\php-test-demo Press Ctrl-C to quit. |
别紧张这是php的内置服务,作为开发使用,禁止使用生产环境,这一点大家切记。上面的内容主要是监听本地127.0.0.1的8000端口。php的执行目录为 F:\php\php-test-demo
,切记不能退出。这是实时监听浏览器8000端口。
7.我们在文件夹目录下创建一个文件名为index.php
,在index.php里面输出下面PHP程序,保存。
1 2 | <?php echo "SKY8G"; |
8.在浏览器地址栏里面输出下面的地址,敲回车。
1 | localhost:8000 |
浏览器里面既可以看到 如下,同时你在看看你 命令行窗口显示监听的数据。
注意这个命令默认是执行php-test-demo的文件夹下的index.php文件。如果你想执行其他的php文件,例如在浏览器localhost:8000/test.php
,执行的test.php
文件。
好了完成了, 是不是很神奇,对这就是php代码写的输出SKY8G
。
输出 echo 和 printf 方法区别
在PHP中打印输出的最广泛使用的方法是echo
方法
1 | echo "Hello, World!\n"; |
当然我们也可以使用printf
方法。
1 | print "Hello, World!\n"; |
那么两个函数有什么相同和不同呢?
- echo没有返回值,而printf返回一个整型的1。
- echo的运行速度比printf快。
- 两者都可以加括号使用。
输出非HTML标签
有的时候在web服务器我们需要得到不同的文本类型例如(text,JSON,XML等等),当你发送浏览器给浏览器头部的时候,也就是响应头部,我们需要设置php头部发给浏览器。
header()
函数的作用是:发送一个原始的HTTP报头。您可以添加content – type头部来通知浏览器我们正在发送的内容。
请看下面的代码在该代码中,我们将内容类型设置为 text/plain。
1 2 3 | header("Content-Type: text/plain"); echo "Hello World"; |
打开浏览器的调试模式可以进行查看如下:
要生成JSON内容,请使用application/ JSON内容类型
1 2 3 4 5 | header("Content-Type: application/json"); // Create a PHP data array. $data = ["response" => "Hello World"]; // json_encode will convert it to a valid JSON string. echo json_encode($data); |
这将生成一个application/json类型的文档内容如下:
1 | {"response":"Hello World"} |
1 2 3 4 5 | // Error: We cannot send any output before the headers echo "Hello"; // All headers must be sent before ANY PHP output header("Content-Type: text/plain"); echo "World"; |
这将产生一个警告:
1 2 | Warning: Cannot modify header information - headers already sent by (output started at /dir/example.php:2) in /dir/example.php on line 3 |