你的第一个 PHP 代码

以下是我们的新书 PHP 和 MySQL:Novice to Ninja,第 6 版的简短摘录,作者是 Tom Butler 和 Kevin Yank。 它是 PHP 的终极初学者指南。 SitePoint Premium 会员可以通过他们的会员资格获得访问权限,或者您可以在世界各地的商店购买一份副本。

现在您已经启动并运行了虚拟服务器,是时候编写您的第一个 PHP 脚本了。 PHP 是一种服务器端语言。 这个概念可能有点难以理解,尤其是如果您只使用 HTML、CSS 和 JavaScript 等客户端语言设计过网站。

服务器端语言类似于 JavaScript,因为它允许您将小程序(脚本)嵌入到网页的 HTML 代码中。 执行时,这些程序可以让您更好地控制浏览器窗口中显示的内容,这比 HTML 本身所能提供的要多。 JavaScript 和 PHP 之间的主要区别在于加载执行这些嵌入式程序的网页的阶段。

从网络服务器下载网页(嵌入式程序等)后,网络浏览器会读取和执行客户端语言(如 JavaScript)。 相比之下,像 PHP 这样的服务器端语言在将网页发送到浏览器之前由 Web 服务器运行。 客户端语言让您可以控制页面在浏览器显示后的行为方式,而服务器端语言让您可以在将自定义页面发送到浏览器之前即时生成自定义页面。

一旦 Web 服务器执行了网页中嵌入的 PHP 代码,结果就会取代页面中的 PHP 代码。 当浏览器收到页面时,它看到的只是标准的 HTML 代码,因此得名“服务器端语言”。 让我们看一些生成 1 到 10 之间的随机数然后将其显示在屏幕上的 PHP 的简单示例:


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Random Number</title>
    </head>
    <body>
        <p>Generating a random number between 1 and 10:
            <?php

            echo rand(1, 10);

            ?>
        </p>
    </body>
</html>
                  

其中大部分是纯 HTML。 只有之间的线 <?php?> 是PHP代码。 <?php 标记嵌入式 PHP 脚本的开始,并且 ?> 标志着它的结束。 Web 服务器被要求解释这两个分隔符之间的所有内容,并将其转换为常规 HTML 代码,然后再将网页发送到请求浏览器。 如果您在浏览器中右键单击并选择“查看源代码”(文本可能因您使用的浏览器而异),您可以看到浏览器显示以下内容:


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Random Number</title>
    </head>
    <body>
        <p>Generating a random number between 1 and 10:
            5
        </p>
    </body>
</html>
            

请注意,PHP 代码的所有迹象都已消失。 取而代之的是脚本的输出,它看起来就像标准的 HTML。 这个例子展示了服务器端脚本的几个优点……

    没有浏览器兼容性问题。 PHP 脚本由 Web 服务器单独解释,因此无需担心访问者的浏览器是否支持您使用的语言功能。 访问服务器端资源。 在上面的示例中,我们将网络服务器生成的随机数放入网页中。 如果我们使用 JavaScript 插入数字,该数字将在浏览器中生成,并且有人可能会修改代码以插入特定数字。 诚然,还有更多令人印象深刻的利用服务器端资源的示例,例如插入从 MySQL 数据库中提取的内容。 减少客户端的负载。 JavaScript 可以显着延迟网页的显示(尤其是在移动设备上!),因为浏览器必须先运行脚本才能显示网页。 使用服务器端代码,这个负担被传递给 Web 服务器,您可以根据应用程序的需要(并且您的钱包可以负担得起)使它变得更强大。 选择。 当编写在浏览器中运行的代码时,浏览器必须了解如何运行提供给它的代码。 所有现代浏览器都能理解 HTML、CSS 和 JavaScript。 要编写一些在浏览器中运行的代码,您必须使用其中一种语言。 通过在生成 HTML 的服务器上运行代码,您可以选择多种语言——PHP 就是其中之一。

基本语法和语句

任何了解 JavaScript、C、C++、C#、Objective-C、Java、Perl 或任何其他 C 派生语言的人都会非常熟悉 PHP 语法。 但是,如果您不熟悉这些语言,或者您是一般编程新手,则无需担心。

PHP 脚本由一系列命令或语句组成。 每条语句都是一条指令,Web 服务器在执行下一条指令之前必须遵循该指令。 PHP 语句与上述语言中的语句一样,始终以分号 (;).

这是一个典型的 PHP 语句:

echo 'This is a <strong>test</strong>!';
            

这是一 echo 语句,用于生成要发送到浏览器的内容(通常是 HTML 代码)。 一个 echo statement 简单地获取它给定的文本并将其插入到页面的 HTML 代码中包含它的 PHP 脚本的位置。

在这种情况下,我们提供了要输出的文本字符串: This is a <strong>test</strong>!. 请注意,文本字符串包含 HTML 标记 (<strong></strong>),这是完全可以接受的。

所以,如果我们把这条语句放到一个完整的网页中,结果代码如下:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Test page</title>
    </head>
    <body>
        <p><?php echo 'This is a <strong>test</strong>!'; ?></p>
    </body>
</html>
                    

如果您将此文件放在您的 Web 服务器上,然后使用 Web 浏览器请求它,您的浏览器将收到此 HTML 代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Test page</title>
    </head>
    <body>
        <p>This is a <strong>test</strong>!</p>
    </body>
</html>
            

random.php 我们之前看过的示例包含一个稍微复杂的 echo 陈述:


echo rand(1, 10);
            

您会注意到,在第一个示例中,PHP 得到了一些要直接打印的文本,而在第二个示例中,PHP 得到了要遵循的指令。 PHP 尝试读取任何存在于引号之外的内容作为它必须遵循的指令。 引号内的任何内容都被视为字符串,这意味着 PHP 根本不处理它,只是将它传递给您调用的命令。 所以下面的代码会传递字符串 This is a <strong>test</strong>! 直接到 echo 命令:


echo 'This is a <strong>test</strong>!';
            

字符串使用开始引号和结束引号表示。 PHP 将首先看到 ' 作为字符串的开头并找到下一个 ' 并将其用作字符串的结尾。

相比之下,下面的代码会先运行内置函数 rand 生成一个随机数,然后将结果传递给 echo 命令:


echo rand(1, 10);
            

您可以将内置函数视为 PHP 知道如何完成的任务,而无需您详细说明。 PHP 有许多内置函数,可以让您做任何事情,从发送电子邮件到处理存储在各种类型数据库中的信息。

PHP 不会尝试运行字符串中的任何内容。 以下代码不会产生您可能期望的结果:


echo 'rand(1, 10)';
           

而不是运行内置功能 randPHP 会将其视为一个字符串,而不是打印出一个随机数,它实际上会发送文本 rand(1, 10) 到浏览器,这可能不是你想要做的。 了解字符串和代码之间的区别很重要。 PHP 会将引号外的任何文本视为它应该遵循的一系列命令。 引号内的任何内容都是字符串,是 PHP 将使用的数据。

PHP 不会尝试理解字符串。 它们可以包含任何顺序的任何字符。 但是代码——本质上是一系列指令——必须遵循严格的结构才能让计算机理解它。

当您在 PHP 中调用一个函数时——也就是说,要求它完成它的工作——我们说您正在调用该函数。 大多数函数在被调用时都会返回一个值; 然后 PHP 的行为就好像您实际上只是在代码中键入了返回值一样。 在里面 echo 'rand(1, 10)'; 例如,我们的 echo 语句包含对 rand 函数,它返回一个随机数作为文本字符串。 这 echo 语句然后输出函数调用返回的值。

PHP 中的每个函数都可以有一个或多个参数,这些参数允许您使函数的行为方式略有不同。 这 rand 函数有两个参数:最小随机数和最大随机数。 通过更改传递给函数的值,您可以更改它的工作方式。 例如,如果你想要 1 到 50 之间的随机数,你可以使用代码:


echo rand(1, 50);
           

您可能想知道为什么我们需要用括号将参数括起来 ((1, 50)). 括号有两个目的。 首先,他们指出 rand 是您要调用的函数。 其次,它们标记参数列表的开始和结束——您希望提供的 PHP 语句——以便告诉函数您希望它做什么。 在的情况下 rand 函数,您需要提供最小值和最大值。 这些值由逗号分隔。

稍后,我们将研究接受不同类型参数的函数。 我们还将考虑完全不带参数的函数。 这些函数仍然需要括号,即使它们之间没有可输入的内容。

阅读更多

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注