Rumah >pembangunan bahagian belakang >tutorial php >PHP基础知识
一、初识PHP
PHP是一种服务器端HTML——嵌入式脚本描述语言,其最强大和重要的特征就是跨平台和面向对象。
PHP是B/S(浏览器/服务器)体系结构,属于三层结构。
1、PHP语言的优势:
1、安全性高。
2、跨平台特性。
3、支持广泛的数据库。
4、易学性。
5、执行速度快。
6、免费。
7、模板化。
8、支持面向对象与过程。
9、内嵌zend加速引擎。
2、PHP5的新特性:
1、构造函数和析构函数。
2、对象的引用。
3、对象的克隆。
4、对象中的私有、公共及受保护模式。
5、接口。
6、抽象类。
7、__call。
8、__set和__get。
9、静态成员。
3、扩展库
从PHP5开始,PHP即新增了内置的标准扩展库,包括XML扩展库-DOM、SimpleXML、SPL、SQLite等,而像MySQL、mysqli、overload、gd2等这些库则被放在pecl外部扩展库中。需要时在php.ini。配置文件中选择加载。
在windows下加载扩展库,需修改php.ini文件来完成。用户也可以在脚本中通过 dll() 函数来动态加载。php扩展库的DLL文件都具有php_前缀。
编辑php.ini文件时,应注意以下几点。
1、需要修改exiension_dir设置使其指向用户放置扩展库的目录或者方式PHP_*.dll文件的位置。 如:extension_dir = C:\php\extensions
2、要在php.ini文件中启用某扩展库,需要去掉extension = php_*.dll 前的注释符号,即将需要加载的扩展库前的分好" ; " 删除。 如 ;extension = php_bz2.dll
3、有些扩展库需要额外的dll才能工作。其中一部分dll文件绑定在发行包中,但还有一些,如Oracle所需要的dll没有保定在发行包中。
二、正式学习php
echo“开始PHP之旅!!!”;
?>
其中"" 是php的标记对。在标记对中所有的代码都被当作php代码来处理。
echo 是输出语句。
1、 php一共支持4中标记风格。
(1)XML风格
echo "xml风格标记";
?>
(2)脚本风格
echo "这是脚本风格";
(3)简短风格
echo "这是简短风格";?>
(4)ASP风格
<%
echo "ASP风格";
%>
2、php注释支持3种。
c++风格单行注释
echo “C++风格”; //这就是C++风格
?>
C风格多行注释
/*C
风格
多行注释
*/
?>
shell风格注释
echo "shell脚本风格"; #这里的内容看不到的。
?>
三、php的数据类型:
1、标量数据类型
标量数据类型是数据结构中最基本的单元,只能存储一个数据。
布尔型:是最简单的类型。只有两个值,真和假。
字符串型:字符串就是连续的字符序列,可以是计算机所能表示的一切字符的集合。
整型:只能包含整数。这些数据类型可以是正数或负数。
浮点型:浮点数据类型用于存储数字,和整数不同的是它有小数位。
2、复合数据类型
复合数据类型包括两种,即数组和对象。
数组:一组类型相同的变量的集合。
对象:对象是类的实例,使用new命令来创建。
3、特殊数据类型
特殊数据类型包括资源和空值两种。
资源:资源是一种特殊变量,又叫做句柄,保存到外部资源的一个引用。资源是通过专门的函数来建立和使用的。
空值:特殊的值,表示变量没有值,唯一的值就是null。
4、转换数据类型
虽然php是弱类型语言,但有时仍然需要用到类型转换。
boolean 转换成布尔型
string 转换成字符型
integer 转换成整型
float 转换成浮点型
array 转换成数组
objcct 转换成对象
5、检测数据类型
is_bool检查变量是否是布尔类型 例如 is_bool(true)
is_string检查变量是否是字符串类型
is_float 检查变量是否为浮点类型
is_int 检查变量是否为整型
is_null 检查变量是否为null
is_array检查变量是否为数组类型
is_objcct检查变量是否是一个对象类型
is_numeric检查变量是否为数字或由数字组成的字符串。
四、php常量
1、声明和使用常量
常量可以理解为值不变的量。常量值被定义后,在脚本的其他任何地方都不能改变。
一个常量由英文字母、下划线和数字组成,但数字不能作为首字母出现。
在php中使用define()函数来定义常量。
格式 define(string constant_name, mixed value , case_sensitive = true)
constant_name 必选参数。常量名称,即标识符。
value 必选参数。常量的值。
case_sensitive 可选参数。指定是否大小写敏感,设定为true,表示不敏感。
获取常量的值有两种方法:一种是使用常量名直接获取值;另一种是使用constant()函数,constant()函数和直接使用常量名输出的效果是一样的,但函数可以动态地输出不同的常量,使用上要灵活方便的多。
2、预定义常量
__FILE__ 默认常量,php程序文件名 两条下划线
__LINE__ 默认常量,php程序行数 两条下划线
PHP_VERSJON 内建常量,php程序的版本
PHP_OS 内建常量,执行php解析器的操作系统名称
TRUE 该常量是一个真值(true)
FALSE 该常量是一个假值(false)
NULL 一个null值
E_ERROR 该常量指到最近的错误处
E_WARNNG 该常量指到最近的警告处
E_PARSE 该常量指到解析语法有潜在问题处
E_NOTICE 该常量为发生不寻常处的提示但不一定是错误处
五、变量
1、变量声明及使用
和很多语言不同,在php中使用变量之前不需要声明变量,只需为变量赐值即可。php中的变量名称用$和标识符表示,变量名是区分大小写的。
变量赋值,是指给变量一个具体的数据值,对于字符串和数字类型的变量,可以通过“=”来实现赋值。
变量名不能以数字字符开头。
变量名不能以字母和下划线“_”以外的其他字符开头。
2、变量作用域
变量在使用时,要符合变量的定义规则。变量必须在有效范围内使用。
局部变量 在函数的内部定义的变量,其作用域是所在函数。
全局变量 被定义在说有幻术以外的变量,其作用域是整个php文件,但在用户自定义函数内部是不可用的,如果希望在用户自定义函数内部使用全局变量,则要使用global关键字声明全局变量。
静态变量 能够在函数调用结束后扔保留变量值,当再次回到其作用域时,又可以继续使用原来的值,而一般变量是在函数调用结束后,其存储的数据值即被清除,所占的内存空间也被释放。使用静态变量时,先要用关键字static来声明变量,把关键字static放在要定义的变量之前。
3、可变变量
可变变量是一种独特的变量,他允许动态改变一个变量名称。其工作原理是该变量的名称由另外一个变量的值来确定,实现过程就是在变量的前面再多加一个美元符号“$”
4、php预定义变量
php还提供了很多非常实用的预定义变量,通过这些预定义变量可以获取到用户会话、用户操作系统的环境和本地操作系统的环境等信息。
$_SERVER [ ' SERVER_ADDR ' ]当前运行脚本所在的服务器的IP地址
$_SERVER [ ' SERVER_NAME ' ]当前运行脚本所在服务器主机的名称。如果该脚本运行在一个虚拟主机上,则该名称是由虚拟主机所设置的值决定。
$_SERVER [ ' REQUEST_METHOD ' ]访问页面时的请求方法。如get、head、post、put等,如果请求的方式是head,php脚本将在输出头信息后中止(这意味着在产生任何输出后,不再有输出缓冲)
$_SERVER [ ' REMOTE_ADDR ' ]正在浏览当前页用户的ip地址
$_SERVER [ ' REMOTE_HOST ' ]正在浏览当前页面用户的主机名,反向域名解析基于该用户的REMOTE_ADDR
$_SERVER [ ' REMOTE_PORT ' ] 用户连接到服务器所使用的端口
$_SERVER [ ' SCRIPT_FILENAME ' ] 当前执行脚本的绝对路径名。
注意,如果脚本在CLI中被执行,作为相对路径,如file.php或者.../file.php,$_SERVER [ ' SCRIPT_FILENAME' ] 将包含用户指定的相对路径
$_SERVER [ ' SERVER_PORT ' ]服务器所使用的端口,默认为80。如果使用SSL安全连接,则这个值为用户设置的HTTP端口。
$_SERVER [ ' SERVER_SIGNATURE ' ] 包含服务器版本和虚拟主机名的字符串。
$_SERVER [ ' DOCUMENT_ROOT ' ]当前运行脚本所在的文档根目录。在服务器配置文件中定义。
$_COOKIE 通过HTTPCookie传递到脚本的信息,这些cookie多数是由执行php脚本时通过setcookie()函数设置的。
$_SESSION 包含与所有会话变量有关的信息。$_SESSION变量主要应用于会话控制和页面之间值的传递。
$_POST 包含通过POST方法传递的参数的相关信息。主要用于获取通过post方法提交的数据。
$_GET 包含通过GET方法传递的参数的相关信息。主要用于获取通过GET方法提交的数据。
$GLOBALS 由所有已定义全局变量组成的数组。变量名就是该数组的索引。它可以称得上是所有超级变量的超级合集。