PHP方向基础课
2016-06-20 14:11:44 0 举报
AI智能生成
PHP方向基础课程是一门专为初学者设计的课程,旨在帮助他们掌握PHP编程语言的基本概念和技能。在这门课程中,学生将学习如何使用PHP创建和管理动态网站,包括处理表单数据、连接数据库、生成动态内容等。此外,课程还将涵盖PHP的基本语法和结构,如变量、函数、循环和条件语句等。通过这门课程的学习,学生将能够为进一步学习更高级PHP技术打下坚实的基础。总之,PHP方向基础课程是帮助初学者快速入门PHP编程的理想选择。
作者其他创作
大纲/内容
知识点
第1章 PHP简介
回首WEB开发一、CMS与模板制作
WEB开发一
网页本质是一个文本文件,由浏览器解释文件内容
HTML负责页面结构
CSS负责页面样式
JavaScript负责页面的行为
CMS与模板制作
动态网站基本原理
静态网站执行流程
静态网站发送http请求到web服务器,web服务器发送http响应给静态网站
动态网站执行流程
?????
动态网站特点
PHP语言简介
PHP(PHP: Hypertext Preprocessor, “超文本预处理器”)是一种通用开源脚本语言。
PHP语言的发展史
PHP语言的优点
PHP语言的开发和运行环境
PHP运行原理
PHP运行环境
Wamp
Lamp
PHP编写环境
第2章 PHP语言基础
第一个PHP程序
扩展名为.php
PHP程序文件需要放在服务器的网站根目录下,通过浏览器才可以看到PHP程序执行的效果。
PHP程序可以嵌入到HTML中
PHP程序必须放到一对PHP标记中,才能解释为PHP程序
PHP标记
xml风格:
脚本风格< script language=”php”> script>
短标记 …… ?>
asp风格标记:<% %>
PHP的基本语法
PHP语法概述
类C
基本语法
每条语句以分号结束
注释
//.....
/*.......*/
变量、常量、数据类型
变量
变量命名
使用Camel命名法
不鼓励使用数字,下划线
变量的引用赋值
被赋值的变量引用原变量,相当于取一个别名
判断变量
判断变量是否被定义 isset(变量名)
销毁变量 unset(变量名)
显示变量详细信息var_dump(变量名)
常亮
常亮定义后,其值不能改变 define(标识符,值)
数据类型
四种标量类型
boolean(布尔型)
逻辑值:true、false
integer(整型)
同C
float(浮点型,也称double)
同C
string(字符串)
单引号、双引号括起来
两种复合类型
array(数组)
object(对象)
两种特殊类型
resource(资源)
NULL
伪类型
运算符和表达式
运算符
数据类型转换
自动数据类型转换
强制数据类型转换
流程控制语句
自上而下逐条顺序执行
流程控制语句
选择
if...else
switch
循环
while语句
do...while语句
for语句
foreach语句
break和continue
break
break n;退出n层循环
continue
continue n;继续n层循环
exit();结束程序//die()
包含代码
require
引用失败时产生一个致命错误,程序结束运行
require_once
include
include_once
引用失败时产生警告,之后代码继续运行
第3章 函数
函数简介
函数是能够完成特定功能的代码集合
使用函数的意义
代码可重复调用,提高效率
程序逻辑清晰
PHP中的函数
内置函数
phpinfo()返回PHP所有信息
time()返回当前的UNIX时间戳
date()把时间戳格式化为可读更好的日期和事件
var_dump
自定义函数
function
命名规则
编码规范
变量的作用域和生命周期
变量的作用域
全局变量
使用时,用global声明
局部变量
静态变量
使用static声明
函数的参数
在调用函数时,通常需要向函数传递参数。被传入的参数称为是实参,在函数中定义的参数称为形参。
传址
子主题
传址(在定义函数时,在参数前加&)
PHP函数使用技巧
查看函数是否定义
function_exists()
创建函数库
第4章 字符串
字符串的使用意义
Web页面的组成:HTML代码、内容数据,都为字符串类型数据。
Web应用中的字符串:
URL
表单输入数据
…
字符串是PHP程序中最经常使用的数据类型,PHP也提供了大量的函数来帮助处理字符串
引用字符串的方法
引用字符串直接量的方法
单引号 :‘
双引号 :“
自定义定界符 : heredoc
$str = <<
主要区别:
是否进行变量解析
是否识别特殊的转义字符
单引号
不解析字符串中的变量
仅支持 \’ 和 \\ 两个转义字符
双引号
解析字符串中的变量
支持多种转义字符 \”、\n、\$...
输出字符串
echo//peint()
printf()
print_r()
var_dump()
常用字符串处理
strlen():返回一个字符串中的字符个数
trim($str[,$toDel]):删除字符串开始和结尾的空白符
ltrim($str[, $toDel]):删除字符串开始的空白符
rtrim($str[, $toDel]):删除字符串结尾的空白符
字符串比较
== 和 ===
主要区别:对非字符串类型操作数的处理上,==会将非字符串操作数转换为字符串类型,===不会进行转换,只要参数类型不同就返回false
<、>、<= 和 >=
如果操作数中有一个是数字,就会将其他参数转换成数字
strcmp($str1, $str2)
如果str1小于str2此函数返回一个小于0的数;如果str1大于str2此函数返回一个大于0的数;如果两个字符串相等,返回0
strcasecmp($str1, $str2)
比较字符串之前,将字符全部转换为小写
字符串查找
strpos($str, $toFind)
此函数返回要查找字符串在被查找字符串中第一次出现的位置
strrpos ($str, $toFind)
此函数返回要查找字符串在被查找字符串中最后一次出现的位置
strstr ($str, $toFind)
此函数返回toFind在str中第一次出现到str末尾的字符串
strchr ($str, $toFind)
此函数是strstr()函数的别名
字符串替换
str_replace($search , $replace, $str)
此函数替换$str中所有的$search为$replace,并返回$str
大小写转换
子主题
strtolower(): 将字符串中的英文全部转换为小写
strtoupper(): 将字符串中的英文全部转换为大写
字符串截取
substr($str, $start[, $length])
此函数返回str中从start位置开始的长为length的子串,如果没有指定length则表示截取到字符串末尾
字符串处理函数
explode($separator, $str)
将一个字符串按separator分割,并将每一部分存在数组中返回
implode($separator, $str)
将一个数组中的每个分量以separator连接成为一个大的字符串
join()是implode()的同名函数
substr_count($str, $toCount)
在str中查找toCount出现的次数
strrev($str)
翻转字符串
第5章 数组
数组简介
一组数据的集合,把一系列数据组织起来,形成一个可以操作的整体
数组的分类
索引数组
关联数组
数组的创建与使用
一维数组的创建
直接通过为数组元素赋值
range ()函数创建有规律的数组
二维数组的创建
数组遍历
for遍历
foreach遍历
数组排序
按值排序
值排序数组(重新设定索引,索引从0开始)
sort($student);//升序
rsort($student);//降序
按键排序
“键”排序数组
ksort($arr);//升序
krsort($arr);//降序
数组的其他操作
使用explode函数将字符串转换成数组
使用implode函数将数组转换成一个新字符串。
void list(mixed $varname ...)
把数组中的值依次赋值给list()中的变量
第6章 WEB编程技术(一)
表单处理
get方式
$_GET[]超全局数组
接收用户提交的get表单数据,键名为表单控件的name属性
接收通过URL传递的参数,本质同get方式提交的表单
post方式
$_POST[]超全局数组
接收用户提交的post表单数据,键名为表单控件的name属性
文件上传
文件上传HTML准备:
通过表单中的file控件实现文件的上传
表单必须使用post方法
服务器预定义超全局数组
$_SERVER数组常用的元素:
PHP_SELF: 当前的php文件名
SERVER_NAME:服务器名
REQUEST_METHOD:请求方法
REMOTE_ADDR:浏览器IP地址
DOCUMENT_ROOT:服务器根目录
HTT协议
HTTP协议:
Hypertext Transfer Protocol 超文本传输协议
是Web浏览器和Web服务器之间通讯所遵循的协议
HTTP协议管理:
Web浏览器如何向web服务器请求内容
Web服务器如何将请求内容响应给Web浏览器
HTTP协议采用请求和响应模式
第6章 WEB编程技术(二)
状态维持简介
如何保持用户登录状态?
将用户登录数据保存起来,供web程序的多个页面使用
状态维持:保持用户状态,供多个页面共同使用
本质:在不同页面之间传递数据(状态信息)
使用COOKIE实现状态维持
COOKIE是存储在客户端的数据,当用户访问该网站时,服务器可以读取cookie的值以获取所需的信息
设置COOKIE
使用函数:setCookie(名,值,过期时间,…)
setCookie(name,value)
setCookie(name,value,expiration)
获得COOKIE的值
使用超全局数组:$_COOKIE[]
删除COOKIE
unset($_COOKIE[‘userName’]);
优点:
操作简单,易于编程实现
缺点:
COOKIE有容量限制(4K)
使用COOKIE不是很安全
用户可以在浏览器端禁用COOKIE
使用SESSION实现状态维持
SESSION把数据存储在服务器端
相对于COOKIE来说SESSION更安全,且能存储更多的的数据
开启SESSION
开启会话
要使用SESSION的每个页面都必须先调用session_start()方法,来创建一个SESSION或者连接到已存在的SESSION中
session_start( )
设置会话变量
设置会话变量:直接为超全局数据$_SESSION添加元素
访问会话变量
访问会话变量:直接访问超全局数组$_SESSION的元素
删除SESSION数据
删除单个会话变量
使用unset()函数删除某个单独的会话变量
如果要删除所有的会话变量,可以通过重置$_SESSION数组 $_SESSION = array()
表单隐藏域
隐藏域是什么?
一个表单控件,可以和普通的文本域一样存取控件的值,其特殊之处在于该控件不会在浏览器中显示
第7章 数据库技术(一)
PHP中使用数据库
MySQL简介
MySQL的特点
开放源代码
体积小
速度快
最适合PHP使用的数据库
安装配置MySQL
常用SQL语句
创建数据库 CREATE DATABASE db_name
创建数据表 CREATE TABLE tbl_name
(col_name type [NOT NULL | NULL]
[DEFAULT default_value]
[AUTO_INCREMENT] [PRIMARY KEY] ,
…
)
添加数据 INSERT INTO tbl_name
[(col_name , …)] VALUES
(value , …)
查询数据 SELECT {* | (col_name[, …])}
FROM tbl_name
[WHERE where_definition]
[ORDER BY col_name [ASC|DESC] ]
[LIMIT row_count]
修改数据 UPDATE tbl_name
SET col_name1=val1 [ , …]
[WHERE where_definition]
[ORDER BY col_name]
[LIMIT row_count]
删除数据 DELETE FROM tbl_name
[WHERE where_definition]
[ORDER BY col_name]
[LIMIT row_count]
使用PHPMyAdmin管理MySQL
第7章 数据库技术(二)
PHP编程执行数据库操作
连接到MySQL
mysqli_connect(server , userName , password,dbName)
选择数据库
mysqli_select_db(connection,dbname)
执行SQL语句
mysqli_query(connection,query);
关闭到MySQL
释放结果内存 mysqli_free_result(result);
返回值:成功返回true,失败返回false
关闭到MySQL的连接 mysqli_close (connection)
说明:关闭指定的连接标识所关联的到 MySQL 服务器的连接
辅助函数
mysqli_affected_rows($link):取得前一次MySQL修改/删除操作影响的记录行数
mysqli_insert_id($link): 取得上一步insert操作产生的ID
辅助函数
mysqli_affected_rows($link):取得前一次MySQL修改/删除操作影响的记录行数
mysqli_insert_id($link): 取得上一步insert操作产生的ID
mysqli_affected_rows($link):取得前一次MySQL修改/删除操作影响的记录行数
mysqli_insert_id($link): 取得上一步insert操作产生的ID
PHP操作MySQL步骤--总结
连接到MySQL
更换数据库:mysqli_select_db();
执行查询,获得查询的结果集
$result=mysqli_query($conn,$sql);
取得结果集中的数据
$row=mysqli_fetch_row($result);
$row=mysqli_fetch_array($result);
$row=mysqli_fetch_assoc($result);
释放结果集内存
关闭到MySQL的连接
取结果集中数据--小结
常用函数
mysqli_fetch_assoc()、mysqli_fetch_row()、mysqli_fetch_array()
共同点
参数都是上一步执行sql语句的资源标识符
每执行一次,从结果集中取得一行作为数组
区别
mysqli_fetch_array()从结果集中取得一行作为关联数组,或数字数组,或二者兼有
mysqli_fetch_row()从结果集中取得一行作为索引数组
mysqli_fetch_assoc()从结果集中取得一行作为关联数组
数据库安全
第8章 PHP面向对象(一)
面向对象简介
面向对象编程(OOP)是一种计算机编程架构。
基本原则:计算机程序是由单个能够起到子程序作用的单元或对象组成。
OOP达到了软件工程的三个要求:重用性、灵活性、扩展性。
面向对象编程的优点:
系统架构清晰、各部分各司其职,利于团队开发。
符合人们理解事物的一般规律
类与对象
类:具有相同特征和行为的一组事物的集合,是对符合该类事物的统一化的抽象描述。
对象:用来描述客观事物的一个实体,称之为类的实例。
创建类 class 类名{[访问限制符]。。。。[访问限制符]。。。}
构造函数
统一构造方法:__construct( [args] )
析构函数
统一析构方法
方法名:__destruct()
当程序运行结束,或显式地使用unset( )销毁对象时,会自动调用析构方法
声明类创建对象总结
class Person{
private $_name, $_age;
static public $maxAge;
public function __construct($name)
{
$this->_name = $name;
}
function setAge($age)
{
$this->_age = $age;
}
static public function setMaxAge($age)
{
self::$maxAge = $age;
}
静态成员和常量成员
常量成员
类成员属性中永远保持其值不变的属性(相当于类作用域范围内的常量);
只能定义常量属性,没有常量成员方法。
定义常量成员基本语法
常量成员定义时使用const关键字,且必须赋初值。
常量成员名不要加$符号,遵循PHP常量名命名规范。
静态成员
类所有实例对象共享的全局变量或全局函数(不依赖于类实例对象,而只属于类体)。
定义静态成员基本语法:
定义静态属性: 访问限制符 static 静态属性名 = 属性值;
private static $_instance = null;
public static $count = 0;
第8章 PHP面向对象(二)
继承
PHP继承的基本语法:
class 子类名 extends 父类名 { …… }
若子类含有与父类同名的成员,将会自动覆盖父类的成员。
子类的同名成员权限修饰符不能比父类更严格。
子类中可以使用 parent:: 形式显式地访问父类的成员。
若父类某一个成员阻止被子类继承,可以添加 final 关键字。
若某个类阻止被其它类继承,也需添加final
接口
PHP不支持多继承,可以使用接口模拟多继承
接口:一类具有共同性实体的约束规范
定义一个接口(interface)
实现一个接口:使用implements关键字
子主题
几个特殊方法
__get() 与__set()
__call()
__autoload()
抽象类
抽象类为继承该类的子类定义规范
抽象类不能被实例化,只能由子类继承,然后在子类中完成具体功能。
抽象类中至少要有一个抽象方法
第9章 PDO方式操作数据库(一)
第9章 PDO方式操作数据库(二)
第10章 Smarty模板引擎
第11章 MVC框架
第12章 MVC框架应用
第13章 正则表达式
第14章 图形图像处理
第15章 Ajax
第16章 JSON
第17章 XML
第18章 文件系统处理
第19章 composer
应用题解题思路
从数据库角度看解题步骤
mysqli
pdo
MVC和smarty
思考
0 条评论
下一页

图形选择
思维导图
主题
补充说明
AI生成

提示
关闭后当前内容将不会保存,是否继续?
取消
确定