2024年PHP开发者大会日本站

什么是PHP以及它能做什么?

什么是PHP?

PHPPHP: Hypertext Preprocessor的首字母缩写递归)是一种广泛使用的开源通用脚本语言,特别适用于Web开发,并且可以嵌入到HTML中。

很好,但这意味着什么?一个例子

示例 #1 一个入门示例

<!DOCTYPE html>
<html>
<head>
<title>示例</title>
</head>
<body>

<?php
echo "Hi, I'm a PHP script!";
?>

</body>
</html>

PHP页面不像C或Perl那样包含许多输出HTML的命令,它包含带有嵌入式代码的HTML,这些代码执行某些操作(在本例中,输出Hi, I'm a PHP script!)。PHP代码包含在特殊的开始和结束处理指令 <?php?> 中,允许在“PHP模式”中进出。

PHP与客户端JavaScript的不同之处在于,代码在服务器上执行,生成HTML,然后发送到客户端。客户端将收到运行该脚本的结果,但不知道底层代码是什么。Web服务器甚至可以配置为使用PHP处理所有HTML文件,这样用户就无法知道使用了PHP。

使用PHP的最大好处是它对新手来说非常简单,但为专业程序员提供了许多高级功能。不要害怕阅读PHP功能的长列表。使用PHP,几乎任何人都可以快速上手并立即编写简单的脚本。

虽然PHP的开发重点是服务器端脚本,但它还可以做更多的事情。继续阅读,在PHP可以做什么?部分查看更多信息,或直接进入入门教程,直接学习Web编程。

PHP可以做什么?

任何事情。PHP主要专注于服务器端脚本,因此它可以执行任何其他CGI程序可以执行的操作,例如收集表单数据、生成动态页面内容或发送和接收Cookie。但PHP还可以做更多的事情。

PHP脚本主要用于两个主要领域。

  • 服务器端脚本。这是PHP最广泛使用的和主要目标领域。要使这工作需要三样东西:PHP解析器(CGI或服务器模块)、Web服务器和Web浏览器。所有这些都可以在本地机器上运行,以便只进行PHP编程实验。有关更多信息,请参阅安装说明部分。
  • 命令行脚本。PHP脚本可以在没有服务器或浏览器的情况下运行,只需要PHP解析器即可以这种方式使用它。这种用法非常适合使用cron(在Unix或macOS上)或任务计划程序(在Windows上)定期执行的脚本。这些脚本也可用于简单的文本处理任务。有关更多信息,请参阅关于PHP的命令行用法的部分。

PHP可以在所有主要的操作系统上使用,包括Linux、许多Unix变体(包括HP-UX、Solaris和OpenBSD)、Microsoft Windows、macOS、RISC OS,以及可能的其他操作系统。PHP还支持当今的大多数Web服务器。这包括Apache、IIS和许多其他服务器。这还包括可以使用FastCGI PHP二进制文件的任何Web服务器,例如lighttpd和nginx。PHP可以作为模块或作为CGI处理器工作。

因此,使用PHP,开发人员可以自由选择操作系统和Web服务器。此外,他们还可以选择使用过程式编程或面向对象编程(OOP),或者两者混合使用。

PHP不仅限于输出HTML。PHP的功能包括输出丰富的文件类型,例如图像或PDF文件,加密数据以及发送电子邮件。它还可以轻松输出任何文本,例如JSON或XML。PHP可以自动生成这些文件,并将它们保存在文件系统中,而不是打印出来,从而形成动态内容的服务器端缓存。

PHP最强大和最重要的特性之一是它对各种数据库的支持。使用数据库专用扩展(例如,mysql)或使用抽象层(例如PDO)或通过ODBC扩展连接到任何支持开放数据库连接标准的数据库,编写支持数据库的网页非常简单。其他数据库可以使用cURLsockets,例如CouchDB。

PHP还支持使用LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(在Windows上)和无数其他协议与其他服务通信。它还可以打开原始网络套接字并使用任何其他协议进行交互。PHP支持WDDX在几乎所有Web编程语言之间进行复杂的数据交换。谈到互连,PHP支持实例化Java对象并将其透明地用作PHP对象。

PHP具有有用的文本处理功能,包括与Perl兼容的正则表达式(PCRE),以及许多扩展和工具来解析和访问XML文档。PHP在可靠的libxml2基础上标准化所有XML扩展,并通过添加SimpleXMLXMLReaderXMLWriter支持来扩展功能集。

还存在许多其他有趣的扩展,它们按字母顺序和按类别进行分类。还有一些额外的PECL扩展可能在PHP手册本身中没有记录,例如» XDebug

此页面不足以列出PHP可以提供的所有功能和优势。继续阅读有关安装PHP的部分,并查看函数参考部分,了解此处提到的扩展的说明。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top