回顾搭建独立环境 基础知识:HTML,网站(服务器,IP,域名),网站访问流程 搭建环境:Apache,php和mysql Apache:获取浏览器请求,处理请求(处理静态HTML) PHP:镶嵌在Apache,负责处理php语句 加载:LoadModule 分配:AddType 加载配置文件:PHPIniDir Mysql:存储数据 PHP加载Mysql提供的扩展:extension 指定扩展路径:extension_dir 虚拟主机:实现一台电脑服务多个基于域名的网站 PHP基础知识php标签用来告诉php引擎当前标记内部的代码是php代码,请解析。其他的内容不需要php解析,直接保留。 PHP标签分为四种:标准,脚本,短标记,asp标记 标准<?php //PHP代码 ?> 注意:通常如果一个脚本文件全部都是php代码,那么可以省略结束标记。 不需要闭合标记的优缺点 优点: 1. php会自动的将后续无用的空行给忽略掉,从而达到节省带宽 2. php能够忽略掉空格,不会干扰其他文件输出。 缺点: 如果后续有非php代码,php引擎就会报错。 脚本php是一种脚本语言,一定可以使用脚本标记 <script language=”php”> //PHP代码 </script> 注意:脚本标记通常不怎么使用,为了区分javascript。 短标记<? //PHP代码 ?> 短标记默认是已经被限制了,不允许使用,如果要使用,需要在配置文件中开启短标记使用 开启 必须重启Apache才能生效 效果 注意:短标记已经不再使用 asp标记<% //PHP代码 %> asp标记,默认是被关闭的,如果要使用,需要开启配置。 开启 效果 php语法1. 所有的php代码必须写在php标签之内 2. php语句以行为单位,每一行都必须用分号结束 a) 如果没有结束标记,那么任何一行都必须有分号 b) 如果有结束标记,那么最后一行可以省略分号,但是不建议 PHP注释行注释:用于一行的注释 //:单行注释 #:单行注释 块注释:/* 多行注释,可以跨行*/ 一般情况下,在需要进行跨行描述的时候(函数) 建议:任何一个代码都必须携带注释 量量就是内容,就是数据。 变量1. 什么是变量? 可以被改变的量 php中的变量规则 1. 必须以$符号开始,后面跟变量名 2. 变量名:以字母或者下划线开始,后面可以跟数字 3. php中可以使用中文变量 4. PHP中变量区分大小写 注意:PHP语言是一种弱类型语言,php中的变量可以存储任意类型的数据。 2. php定义语法 $变量名 = 值(没有数据类型限制); 3. 使用php变量 1. 凡是需要使用变量的地方,可以直接使用$符号后跟变量名 2. 变量在使用之前必须先定义好(赋值) 4. 变量的增删改查 删除变量需要使用到php的一个函数:unset 语法:unset(变量); 常量1. 什么是常量? 常量是一个经常用,但是不会改变的量。 2. 常量规则 a) 定义规则:不是通过$符号定义,而是通过define函数定义 语法:define('常量名’,常量值); b) 语法规则:不需要$符号,其他规则类似,通常,常量的定义都是大写字母和下划线 c) 使用规则:常量一经定义不可修改 d) 常量的语法规则比变量要简单(宽松) 3. 使用常量:直接使用常量名字即可 4. 修改常量:不允许 直接修改 使用define重新定义 删除常量 5. 松散常量 定义 使用:特殊字符组成的常量是不能直接使用的,要使用必须通过constant函数实现 语法:constant('常量名’); 常量的使用 1. 一个经常要用,但是不允许改变的数据,用常量保存 2. 常用往往用于访问限制:判断函数:defined('常量名’),如果一个常量被定义过了,返回true,如果没有定义过返回false 系统预定义变量系统已经定义好的,用户可以直接使用的变量。(用户也可以修改) $_POST:用户接收用户从浏览器使用post方式提交的所有数据,是一个数组 $_GET:接收浏览器以get方式提交的所有数据,是数组 $_REQUEST:接收浏览器post或者get或这个cookie数据,也是数组 $_FILES:浏览器文件上传的数据 $_SESSION:会话技术之一session的数据 $_COOKIE:会话技术之一cookie的数据(浏览器携带到服务器) $GLOBALS:全局变量的数组(所有的全局变量都可以在该数组中找到) $_SERVER:服务器信息和浏览器信息 如何查看一个数组?var_dump(数组) 访问单个数据 作业:将$_SERVER中认为有用的数据给整理一遍 $_ENV:环境 预定义常量系统已经定义好的常量 PHP_OS:当前PHP运行的操作系统 PHP_VERSION:当前PHP版本 PHP_INT_SIZE:当前PHP中整型所占用的内存空间(字节为单位) PHP_INT_MAX:当前php中能够表示的最大整型数值 魔术常量 表示方法是以双下划线开始和双下划线结束 魔术常量在不同的位置代表不同的数据 __FILE__:当前文件的绝对路径,包含文件名 __LINE__:当前行的行号 __DIR__:当前文件的绝对路径,不包含文件名 __FUNCTION__:当前函数的名字(只能在函数内部使用) __METHOD__:当前方法的名字(只能在方法内部使用) 变量和常量内存示意内存指的是在系统运行的时候,RAM。 内存分为多个部分:栈,堆区,代码段,数据段 栈:程序能直接操作的唯一内存,栈比较小,但是速度较快 堆:一大块连续的内存空间,程序不能直接操作,空间大,地址连续,但是效率低 代码段:专门存放代码的内存地址,系统会根据代码段里存储的代码逐行的执行代码 数据段:存放数据的地方,数据段又可以分为多个部分 全局区:存放全局数据和局部数据 静态区:存放静态变量和常量 php代码执行过程简单代码执行内存分析变量传值变量传值方式分为两种:值传递和引用传递 值传递将一个变量的值复制一份,然后传递给另外一个变量,内存中会存放两份数据。 引用传递将变量的所指向的内存地址赋值给另外一个变量。 语法:$a = &$b; 内存分析可变变量变量可以变,变量所对应的值刚好是另外一个变量的名字,再加上一个$符号之后,就可以获取到对应变量的值。 数据类型数据类型是系统根据自然界中人们所对事物的分类,在系统内部的一种体现。 php中对数据类型如何分类? 标量数据类型(基本),复合数据类型,特殊数据类型 php中的数据类型都是用来规范数据本身而不是变量本身(PHP是弱类型语言) 标量数据类型标量数据类型又分为四类:整型,浮点型,布尔型,字符串型 整型用来描述整数,int或者integer $a = 100; //a是一个整型变量(a的值是一个整型数据) 可以使用变量保存其他进制数据:八进制和十六进制 $num1 = 0777; $num2 = 0xffff; 强制按进制进行输出:printf 语法:printf(“输出字符串携带输出格式”,要输出的参数列表) PHP中的整型占4个字节32位,最大数值是21亿多,超出php能表示的最大范围之后,数据类型会变成浮点型。 浮点型float或者double关键字 float:占用4个字节,单精度,能够保证的有效的精确数位数比较小,大概是7位左右,能表示最大范围大概是10^38 double:占用8个字节,双精度,有效的精确数位数比较大,大概是15位左右。 在php中没有单精度,都是双精度(占用8个字节) 超过精度部分会继续四舍五入 整型与浮点型存储数据的变化 整型与浮点数的应用 需要精确的表示一个数值的时候,但是数值又不是很大的情况下使用整型 需要一个大概的值,但是数据量又很大的情况下使用浮点型 布尔型布尔型就只有两个结果:true和false,通常布尔类型都是用于判断。使用bool或者Boolean 大部分的数据进行类型转换后都会变成布尔的true,但是有少部分是false FALSE,0,0.0,’’,’0’,空数组,null值 字符串型用一系列字符来表示的数据。 定义字符串类型的方式有三种:单引号,双引号和定界符 单引号:只能解析较少的转义字符:\’,\\ 双引号:能解析较多的转义字符:\r\n\t\”,解析变量 定界符:以<<<定界符标识,中间是字符串内容,最后跟定界符标识结束 定界符使用规则 1. 左尖括号后必须跟定界符标识,标识的右边不能有任何内容包括注释和空格 2. 定界符内部不能写注释:写了也没用,会被照样输出 3. 右定界符必须顶格:靠近最左边 4. 右定界符的右边不能有任何多余的内容:包括注释和空格 定界符结构:定界符本身模拟的是单引号和双引号 定界符分为两种:heredoc,nowdoc heredoc:模拟的是双引号 nowdoc:模拟的是单引号,nowdoc就是给左定界符加上单引号 复合数据类型复合数据类型:数组和对象 特殊数据类型空类型(null)和资源 NULL:空数据类型 变量被unset掉 变量直接赋值为null 资源:PHP操作外部数据(mysql连接,mysql结果集,文件操作…) 作业: 1. 定义两个变量:$a = 10,$b = 20;使用三种方式实现两个变量的交换。$a = 20,$b = 10。 |
|