第24章 其他有用的特性

PHP中有一些非常实用的功能和特征,它们不属于任何特定的类型。本章将专门介绍这些内容。

在本章中,我们将主要介绍以下内容:

■使用eval()函数对字符串求值

■中断执行:die和exit

■序列化变量和对象

■获取PHP环境信息

■暂时改变运行时环境

■加亮源代码

■在命令行中使用PHP

24.1 使用eval()函数对字符串求值

函数eval()可以计算出PHP代码字符串的值。例如:


eval("echo'Hello World';");


将接收字符串的内容并执行它。这行代码将产生与如下语句运行结果相同的输出:


echo'Hello World';


eval()函数可以在许多不同的情况下使用。例如,我们可以在数据库里存储一段代码,以便此后可以检索它们并求值。也可能在一个循环里生成代码,然后使用eval()来执行它。

eval()函数的最常见用法是系统模板化。我们可以从数据库中载入HTML、PHP和纯文本的混合。模板系统可以对这些内容格式化并且通过eval()函数来执行任何PHP代码。

可以使用eval()函数有效地更新和校正已有代码。如果我们知道一堆脚本需要在什么地方进行修改,那么可以写一段新的脚本代码,将老的脚本代码加载到一个字符串中(效率较低),运行regexp进行修改,然后用eval()执行修改过的脚本。

我们甚至可以想像,某人对系统非常信任时,可能会希望在浏览器端输入PHP代码,然后在服务器端执行。