初识PHP(1):PHP是什么
PHP,Hypertext Preprocessor,翻译过来就是超文本预处理器,是一种在服务器上执行的脚本语言。
那么为什么在HTML,CSS的基础上,还需要PHP呢?
前2者在为我们提供静态页面内容的时候,PHP可以为我们生成动态页面内容,可以创建、打开、读取、写入、关闭服务器上的文件,可以收集表单数据,可以发送和接收 cookies,可以添加、删除、修改数据库中的数据,可以限制用户访问网站上的一些页面,可以加密数据。
同时,PHP因为是在服务器端执行的性质,可在包括在Windows,Linux,Unix,Mac OS等平台上运行,与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)并提供了广泛的数据库支持。2
PHP文件默认扩展名是.php,在服务器上执行,结果以纯 HTML 形式返回给浏览器。文件内可包含文本、HTML、JS/TS代码和 PHP 代码。
- 我们可以直接找一个已支持PHP和MySQL的网络主机,然后在现有的 web目录中创建.php 文件即可,服务器将自动解析这些文件。
- 或则我们可以在自己的PC上安装网络服务器、PHP,MySQL;官方 PHP 网站(PHP.net)有 PHP 的安装说明: http://php.net/manual/en/install.php
当然,对于初学者,建议使用:
- 集成的PHP服务器组件:它已经包含了 PHP、Apache、Mysql等服务,免去开发人员花费在繁琐配置环境过程的时间。Windows系统:可以使用 WampServer,下载地址:http://www.wampserver.com/Mac OS 和 Windows 系统:XAMPP,下载地址:https://www.apachefriends.org/zh_cn/index.html
- IDE,集成开发环境:比如Eclipse for PHP(免费)或则PhpStorm(收费)
- www.php.net
- https://www.runoob.com/php/php-install.html
php一般做些什么?
php一般做些什么?PHP 能够生成动态页面内容 、PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件 、PHP 能够接收表单数据 、PHP 能够发送并取回 cookies 、PHP 能够添加、删除、修改数据库中的数据 、PHP 能够限制用户访问网站中的某些页面 、PHP 能够对数据进行加密 ,通过 PHP,您可以不受限于只输出 HTML。
您还能够输出图像、PDF 文件、甚至 Flash 影片。您也可以输出任何文本,比如 XHTML 和 XML。作为一个 服务端解释性的语言,PHP 能够胜任大多数的服务器方面的功能,包括 C\\S B\\S 架构的 S 端,批处理脚本等等。
使用PHP主要两点:
第一:使用 PHP可以自由地选择操作系统和 web 服务器。同时,还可以在开发时选择使用面对过程和面对对象,或者两者混和的方式来开发。尽管 PHP 4 不支持 OOP 所有的标准,但很多代码仓库和大型的应用程序(包括 PEAR 库)仅使用 OOP 代码来开发。PHP 5 弥补了 PHP 4 的这一弱点,引入了完全的对象模型。
第二:使用 PHP并不局限于输出 HTML。PHP 还能被用来动态输出图像、PDF 文件甚至 Flash 动画(使用 libswf 和 Ming)。还能够非常简便的输出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP 能够自动生成这些文件,在服务端开辟出一块动态内容的缓存,可以直接把它们打印出来,或者将它们存储到文件系统中。
PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows 环境)等不计其数的协议的服务。还可以开放原始网络端口,使得任何其它的协议能够协同工作。PHP 支持和所有 web 开发语言之间的 WDDX 复杂数据交换。关于相互连接,PHP 已经支持了对 Java 对象的即时连接,并且可以透明地将其用作 PHP 对象。
PHP 具有极其有效的文本处理特性,包括 Perl 兼容正则表达式(PCRE)以及许多扩展和工具可用于解析和访问 XML 文档。PHP 将所有的 XML 功能标准化于坚实的 libxml2 扩展,并且还增加了 SimpleXML,XMLReader 以及 XMLWriter 支持以扩充其功能。另外,还有很多其它有趣的扩展库,在此根据字母和分类归类列出。还有一些附加的 PECL 扩展可能有也可能没有在 PHP 手册中列出,例如 » XDebug。PHP 的优势在于简单,快速,以及庞大的开源社区。
当然有利必有弊,PHP 在多线程,性能等方面还是略显不足的:
一、不适合多线程:因为PHP天生不支持多线程。虽然有一些来源(php 多线程 – Google Search)说可以模拟
二、不太适合通过PHP执行CommandLine的命令:虽然有exec,但是output只能得到STDOUT的,从我的理解范围内不能得到STDERR的
PHP 最强大最显著的特性之一,是它支持很大范围的数据库。使用任何针对某数据库的扩展(例如 mysql)编写数据库支持的网页非常简单,或者使用抽象层如 PDO,或者通过 ODBC 扩展连接到任何支持 ODBC 标准的数据库。其它一些数据库也可能会用 cURL 或者 sockets,例如 CouchDB。
PHP作为模板语言,用的时候常常和web前端配合得比较紧密,所以web前端的HTML、JavaScript、CSS必须要有所了解。现在很多应用在后端提供数据,把较多的逻辑移到客户端去,所以在这种情况下的数据交互方式,例如XML,json,jsonp等都有必要了解。
PHP常打交道的几个网络协议,HTTP/TCP/IP/DNS我觉得也很有必要有所了解,特别是HTTP。很多时候你还需要了解一些工具的用法,例如版本控制,FTP的使用,或者scp/ssh这样的工具的使用。PHP赖以运行的技术,例如Apache,nginx,IIS,fastCGI等有必要了解一下,比如Apache,nginx,IIS分别是怎样做地址重写的。必须要掌握一种数据库,和PHP配套的比较多的是MySQL,可以考虑这个。对常见的框架例如ThinkPHP,Zend Framework,以及常见开源程序例如wordpress,phpwind等有所了解。
后盾张老师企鹅:1079943010
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。