理解 PHP 语言基础
时间:2024-11-14 08:11 作者:emer 分类: 无
到目前为止,您已经绕过了创建开发环境的旧的、繁琐的方法,现在可以开始编写代码了。
但是你从哪里开始呢?在这一章中,我将介绍开始使用 PHP 创建强大的动态 web 应用需要遵循的步骤。你还将开始发展创建博客所需的基本技能。此外,您将学习如何完成几项任务,包括如何执行以下操作:
在网页中嵌入 PHP
将数据作为输出发送到浏览器
在代码中添加注释
使用变量
处理 PHP 错误
创建 HTML5 模板
使用对象
连接字符串
用$_GET超级全局变量访问 URL 变量
声明类定义
嵌入动态 CSS
在这一章结束时,你将会看到一些基本的 PHP 允许你创建、存储、操作和输出数据。您将使用这些技能开发一个个人投资组合网站的基本版本。
Note
本章讨论了 PHP 语言的基本方面,但不是全部细节。为了澄清,更多的例子,或者为了概念强化,访问 PHP 手册的 www.php.net/manual/en/ 并在显示“在函数列表中搜索 _ 的字段中搜索函数或者,您可以通过导航到 http://php.net/function_name 来访问许多 PHP 函数的信息。不要忘记阅读评论,因为你的许多程序员同事在他们的评论中提供了见解、技巧,甚至附加功能。
嵌入 PHP 脚本
在第一章中,当我谈到 Apache 和 web 服务器时,我提到了服务器如何在将文件发送到浏览器之前处理 PHP 文件。但是您可能会好奇服务器是如何知道在哪里寻找 PHP 的。
默认情况下,服务器只在以扩展名.php结尾的文件中寻找 PHP。但是一个.php文件可能包含不属于 PHP 脚本的元素,搜索整个文件寻找潜在的脚本是令人困惑和耗费资源的。为了解决这个问题,所有的 PHP 脚本都需要包含 PHP 分隔符。要开始一个 PHP 脚本,您需要包含开始分隔符<?php并开始编码。最后,只需在脚本末尾添加?>即可。这些分隔符之外的任何内容都将被视为 HTML 或纯文本。
您可以在实践中看到这一点。首先在/xampp/htdocs/中创建一个新文件夹ch2。接下来,用 Komodo Edit 创建一个新文件test.php。编写以下代码:
Static Text
<?php
echo "
This text was generated by PHP!
";?>
This text was not.
保存文件,在浏览器中导航到 http://localhost/ch2/test.php,您应该在浏览器中看到以下输出:
Static Text
This text was generated by PHP!
This text was not.
如您所见,PHP 分隔符内的文本被作为脚本处理,但外部的文本被呈现为常规的 HTML。一个页面中可以包含多少 PHP 代码块没有限制,所以下面的代码片段完全有效:
<?php
echo "
This is some text.
";?>
Some of this text is static,
<?php echo "
"; ?>
This text is enclosed in paragraph tags that were generated by PHP.
<?php echo "
"; ?>前面的代码片段将以下内容输出到浏览器:
This is some text.
Some of this text is static, but this sure isn't!
This text is enclosed in paragraph tags that were generated by PHP.
如果你写了一个 PHP 脚本,除了 PHP 什么都没有,你不需要结束 PHP 分隔符。如果你要在文件中写一些不是 PHP 的东西,你只需要标记一个 PHP 代码块的结尾。
使用回声
额外看看前面代码示例中echo的用法。PHP 的echo是一个所谓的语言构造——PHP 的基本语法单位。echo语句可能是从 PHP 向浏览器输出文本的最常见方法。这就是echo所做的一切。它将输出发送到浏览器。
请注意,在前面的代码示例中,输出字符串用双引号分隔。第一个双引号表示字符串的开始。第二个双引号标记要输出的字符串的结尾。在 PHP 中,你必须分隔你在代码中使用的任何字符串。字符串分隔符告诉 PHP 一个字符串何时开始和结束,这是 PHP 需要知道的,以便处理您的代码。
Note
字符串是“文本”的一个怪词因为计算机不是人,它不会真的看到文本,更不会看到文字。他们看到字符串。
什么是变量?
变量是一个关键字或短语,用作存储在系统内存中的值的标识符。这很有用,因为它允许我们编写对变量值执行一组操作的程序,这意味着您可以简单地通过更改变量来更改程序的输出,而不是更改程序本身。
将值存储在变量中
在变量中存储一个值非常简单。在一行中,您可以声明一个新变量并为其赋值:
<?php
$myName = "Thomas";
$friendsName = "Brennan";
echo "
I am $myName and I have a friend called $friendsName.
";如果您将前面几行输入到您的test.php文件中,并将其加载到您的浏览器中,您应该会看到如下输出:
I am Thomas and I have a friend called Brennan.
也许您会注意到,前面的代码只包含 PHP。因此,没有必要用 PHP 分隔符来标记 PHP 代码块的结尾。喜欢的话可以在末尾加?>;没什么区别。
变量是一个占位符
变量在编程中被广泛使用。这是一个你必须理解的基本概念。从前面的例子中可以学到重要的一课。当您阅读 PHP 代码时,您会看到变量名:
echo "
I am $myName and I have a friend called $friendsName.
";您可以在浏览器中看到 PHP 的输出。您可以看到 PHP 用字符串值替换了变量名。比如看到$myName,PHP 看到的是托马斯。看到$friendsName,PHP 看到的是布伦南。
变量是特定值的占位符。PHP 甚至不会注意到这个变量;它看到存储在里面的值。打个比方,你可以把一个变量理解为一个容器,比如一个杯子。我的电脑旁边有一个杯子,我可以在里面放各种各样的东西:咖啡、一支铅笔或一些零钱。PHP 变量就是这样。PHP 看到的是包含的内容,而不是容器。
Note
用技术术语来说,PHP 变量是通过值传递的,而不是通过引用传递的。
有效的 PHP 变量名
在 PHP 中,所有变量都必须以美元符号字符($)开头。对于有效的变量名还有一些进一步的限制,但是如果您仅仅使用字母字符,您将不会遇到无效变量名的问题。因此,避免空白字符、数字和特殊字符,如!"#€%&/.
Note
你可以在变量名中使用数字,但不能在初始位置使用。因此,$1a是一个无效的变量名,而$a1是完全有效的。
显示 PHP 错误
在学习 PHP 的过程中,您肯定会犯一些错误。当你写了一些错误的 PHP 时,很容易认为你做了坏事。从某种意义上说,这当然是不好的。您可能更喜欢从一开始就编写完美的 PHP。
从另一个意义上说,错误是一件非常好的事情。许多这样的错误提供了一个学习的机会。如果你真正理解了错误的原因,你就不太可能重复它,即使你重复了,如果你理解了,你也可以很容易地纠正错误。
PHP 错误消息并不总是显示出来——这取决于您的开发环境是如何设置的。如果你在脚本的开头写了下面两行 PHP 代码,所有的错误信息都会显示出来。让我们产生一个错误:
<?php
//these two lines tell PHP to show errors in the browser
error_reporting( E_ALL );
ini_set( "display_errors", 1 );
//here comes the error
echo "This string never ends;
你看到错误了吗?只有一个字符串分隔符。要编写有效的 PHP,必须用字符串分隔符将字符串括起来,例如双引号。在前面的例子中,缺少结束分隔符,所以 PHP 看不到输出结束的位置。如果运行该代码,您将在浏览器中看到一条错误消息,如下所示:
Parse error:syntax error, unexpected $end, expecting T_VARIABLE or T_DOLLAR_OPEN_CURLY_BRACES or T_CURLY_OPEN in
/Applications/XAMPP/xamppfiles/htdocs/ch2/test.php``on line
错误消息是友好的,但并不总是像您希望的那样精确。当 PHP 无法处理您的代码时,就会触发一个错误。PHP 将对问题可能是什么做出有根据的猜测。在前面的例子中,PHP 在第 4 行遇到了“意外结束”。你的剧本里有一个“bug”。请通过添加缺少的双引号来调试脚本。
我建议你养成强制显示错误信息的习惯,并尝试阅读你遇到的所有错误信息。如果你遇到一个你不理解的错误信息,你可以在网上搜索解释。像 www.stackoverflow.com 这样的网站很可能会对你的错误信息给出解释。