华子目录
- 什么是php
- php发展史
- 平台支持和数据库支持
- 网站
- 静态网站和动态网站的区别
- 静态网站
- 动态网站的特点
- 关键名词解析
- 服务器概念
- IP的概念
- 域名
- DNS
- 端口
- web程序的访问流程
- 静态网站访问流程
- 动态网站访问流程
- php标记
- 脚本标记
- 标准标记(常用)
- php注释
- php语句分隔符
- 变量
- 变量基本概念
- 变量的使用
- 变量命名规则
- 预定义变量
- 可变变量
- 变量传递
- 常量
- 常量定义形式
- 常量命名规则
- 访问常量
- 常量和变量的使用
- 系统常量
- 常用的几个系统常量
什么是php
php定义:一种服务器端的html脚本编程语言,是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常高的,独立于架构的,可移植的,动态的脚本语言。是一种广泛用于Open Source的尤其适合web开发并可以嵌入html的多用途脚本语言。它的语言接近C,Java和Perl,而且容易学习。该语言让web开发人员快速书写动态生成的网页。
php前身:Personal HomePage,个人主页,使用Perl语言开发的一种写入个人主页的语言。
php:PHP Hypertext Preprosessor,php超文本预处理器,底层使用c语言
php发展史
创建者:Rasmus Lerdorf
1994:1.0,个人perl,非常简单
1996:2.0,c底层,变得相对强大
1998:3.0,zendEngine,联合zend公司共同管理和维护php,zendEngine(zend引擎)用户高效的解析php代码
2000:4.0,session+输出缓冲等,session技术(会话技术)
2004:5.0,zend引擎2代,增加新技术(面向对象更新,命名空间,异常)
2015:7.0,新版的ZendEngine引擎,性能提升,新特性(异常)
平台支持和数据库支持
平台:window,Linux,UNIX
数据库支持:SQL server,MySQL,Oracle,Access
网站
Website 的中文名称是网站,是指在互联网上,根据一定的规则,使用 HTT、PHP 等代码语言制作的用于展示特定内容的相关网页的集合,有可供管理人员操作的后台及用户使用的前台。简单地说,Website 是一种通讯工具,就像布告栏一样,人们可以通过 website 来发布自己想要公开的资说,或者利用 website 来提供相关的网络服务。人们可以通过网页浏览器来访问 Website,获取自己需要的资讯或者享受网络服务。
静态网站和动态网站的区别
静态网站
1.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件。
2.静态网页的内容相对稳定,因此容易被索引引擎检索。
3.静态网页没有数据库的支持,再网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难。
4.静态网页的交互性较差,再功能方面有较大的限制。
动态网站的特点
1.交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后 Web 发展的潮流。
2.自动更新:即无须手动更新 HTT文档,便会自动生成新页面,可以大大节省工作量。
3.因时因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面。“此外动态网页是与静态网页相对应的,也就是说,网页 URL 的后缀不是.htim、.html、.shtml、.xm1 等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。在动态网页网址中有一个标志性的符号–“?”
关键名词解析
服务器概念
1.服务器(server),也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。“
2.服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。“
3.在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB 服务器等。“
总结:服务器:能够提供服务的机器,取决于机器上所安装的软件(服务软件)Web 服务器: 提供web 服务(网站访问),就需要安装 web 服务软件,Apache,tomcat,iis等
IP的概念
IP: Internet Protocol,网络之间互联协议。网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP 协议就可以与因特网互连互通。IP 地址具有唯一性。(每台电脑都有一个唯一的 IP 地址)
域名
域名 (Domain Name),是由一串用点分隔的名字组成 (www.itcast.cn)的 Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个 IP 地址上有“面且”。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP 等)。域名作为力所能及难忘的互联网参与者的名称。
特殊 IP:127.0.0.1,代表本机
特殊域名: localhost
DNS
DNS (Domain Name System,域名系统),因特网上作为域名的IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP数串。通过主机名,最终得到该主机名对应的 IP 地址的过程叫做域名解析(或主机名解析)。
端口
端口(Port),可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的 80 端口、21 端口、23[端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45 网口,交换机路由器集线器等 RJ45 端口。
web程序的访问流程
浏览器发起访问---->DNS解析域名---->服务器----->服务软件
静态网站访问流程
动态网站访问流程
动态网站访问流程于静态差不多,但是会多出几个内容:服务器端解析,数据库。
php标记
脚本标记
语法:<script language="php">php代码</script>
标准标记(常用)
<?php php代码?>
<?phpecho "hello world";
?>
php注释
php中注释分为两种:行注释+块注释
行注释://或#
快注释:/* */
<?php//再脚本开始前,会对脚本功能进行简单阐述# 在脚本开始前,会对脚本功能进行简单阐述/*在脚本开始前,对脚本功能进行简单阐述功能作者版本*/echo "hello world";
?>
php语句分隔符
- 在PHP中,代码是以行为单位,系统需要通过判断行的结束,该结束通常都是一个符号:分号“;”(英文状态下的分号)
- PHP中标记结束符?>有自带语句结束符的效果,最后一行PHP代码可以没有语句结束符“;”
- PHP中其实很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯中就不建议使用标记结束符?>, PHP会自动从开始到最后全部认为是PHP代码,从而解析
变量
- PHP是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而PHP作为“中间人”,需要进行数据的传递,传递的前提就是PHP能自己存储数据(临时存储)
变量基本概念
- 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的。
变量的使用
- PHP中的所有变量都必须使用“$”符号
- 定义:在系统中增加对应的变量名字(内存)
- 赋值:可以将数据赋值给变量名(可以在定义的同时完成)
- 可以通过变量名访问存储的数据
- 可以将变量从内存中删除
变量命名规则
- 在PHP中变量名字必须以“$”符号开始;
- 名字由字母、数字和下划线“_”构成,但是不能以数字开头;
- 在PHP中本身还允许中文变量(不建议)。
预定义变量
- 预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
$_GET:获取所有表单以get方式提交的数据 get
$_POST:POST提交的数据都会保存在此 post
$_REQUEST:GET和POST提交的都会保存 request
$GLOBALS:PHP中所有的全局变量 globals
$_SERVER:服务器信息 server
$_SESSION:session会话数据 session
$_COOKIE:cookie会话数据 cookie
$_ENV:环境信息 env
$_FILES:用户上传的文件信息 files
可变变量
- 如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个$符号。
变量传递
- 将一个变量赋值给另外一个变量:变量传值
- 变量传值一共有两种方式:值传递,引用传递
- 值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)
- 引用传递(地址传递):将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量指向同一个值)(使用&符号取地址)
常量
- 常量与变量一样,都是用来保存数据的。
- 常量:const/constant,是一种在程序运行当中,不可改变的量(数据)
- 常量一旦定义,通常数据不可改变(用户级别)
常量定义形式
在PHP中常量有两种定义方式(5.3之后才有两种)
- 使用定义常量的函数:define(‘常量名’,常量值);
- 使用const定义常量
常量命名规则
- 常量不需要使用“$”符号,一旦使用系统就会认为是变量;
- 常量的名字组成由字母、数字和下划线组成,不能以数字开头;
- 常量的名字通常是以大写字母为主(与变量以示区别);
- 常量命名的规则比变量要松散,可以使用一些特殊字符,该方式只能使用define定义;
注:
- Define和const定义的常量是有区别:在于访问权限区别
- 定义常量通常不区分大小写,但是可以区分,可以参照define函数的第三个参数
访问常量
- 常量的使用与变量一样:不可改变值(在定义的时候必须赋值)
- 有的时候还需要使用另外一种形式来访问(针对的是特殊名字的常量),需要用到另外一个访问常量的函数:constant(‘常量名’)
常量和变量的使用
- 凡是数据会可能变化的,那么肯定是用变量
- 数据不一定会变的,可以使用常量或者变量(变量居多)
- 数据不允许被修改的,一定用常量
系统常量
- 系统常量:系统帮助用户定义的常量,用户可以直接使用
常用的几个系统常量
PHP_VERSION:PHP版本号
PHP_INT_SIZE:整形大小
PHP_INT_MAX:整形能表示的最大值(PHP中整形是允许出现负数:带符号)
- 在PHP中还有一些特殊的常量,他们有双下划线开始+常量名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户改变不了
__DIR__:当前被执行的脚本所在电脑的绝对路径
__FILE__:当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)
__LINE__:当前所属的行数__NAMESPACE__:当前所属的命名空间
__CLASS__:当前所属的类
__METHOD__:当前所属的方法