PHP文档资料

H5第四阶段—PHP&MySQL

目录

PHP简介及基本语法... 3

PHP运行环境配置... 3

PHP的运行原理... 3

两种PHP运行方式... 4

变量的定义... 4

变量的传值... 4

变量数据类型... 5

变量检测... 7

变量类型转换... 7

常量... 8

代码的注释... 8

PHP输出方式... 8

单引号和双引号... 8

SESSION和COOKIE. 9

表单处理... 9

流程控制... 10

函数... 10

文件读写操作... 10

文件上传... 11

面向对象编程... 12

数据库操作:数据库及表的创建... 15

数据库操作:PHP链接数据库并操作数据... 16

数据库常用SQL语句... 16

数据修改业务逻辑... 19

数据库基础概念... 19

MySQL数据库命令行操作... 19

修改MySQL配置文件my.ini: 22

常见错误调试方法... 22

MVC的模式设计程序... 23

后续学习:... 23

笔记内容

PHP简介及基本语法

1)      PHP,即“PHP: Hypertext Preprocessor”,中文名 “超文本预处理器” ,是一种被广泛应用的开源脚本语言;

2)      后缀必须是*.php;

3)      PHP的语句以分号(;)结束的;

4)      可嵌入到HTML中,非常适用于Web领域开发;

5)      第一个PHP:

<?php

header(‘Content-type:text/html;charset="UTF-8"‘);

echo ‘我的第一个PHP‘;

?>

6)      通过虚拟路径访问PHP文件;

PHP运行环境配置

根据个人环境选择不同版本,参考安装文档进行安装配置;

PHP的运行原理

最终解析成:

访问php页面是看不到PHP代码的;

两种PHP运行方式

1)  通过虚拟路径访问,也就是URL地址:单线程;

2)  CLI运行方式:真正的多线程

变量的定义

1)  以$开头,$后面不能直接跟数字,后面跟字母、数字、下划线;

2)  变量名称区分大小写,PHP关键词不区分大小写;

变量的传值

1)  赋值传值:

$h = 120;

$q = $h;     //将$h的值拷贝给$q

$h = 135;

echo $h;  //输出135

2)  引用传值:

$h = 155;

$q = &$h; //引用传值,表示$h的地址传给$q

$q = 195;

echo $h; //输出195

3)  可变变量

$a1 = array(‘username‘ => ‘邓海涛‘, ‘passwd‘=>‘123456‘, ‘tel‘=>‘15982369‘, ‘email‘=>‘[email protected]‘);

foreach ($a1 as $key122 => $value134) {

${$key122} = $value134;

}

echo $email;

echo $tel;

变量数据类型

1)  整数:

a)  整型值可以使用十进制,十六进制,八进制或二进制表示;

b) 前面加上0b表示二进制;

c)  前面加上0表示八进制;

d) 前面加上0x表示十六进制;

e)  前面加上表示负数;

2)  浮点型:

a)  浮点型可以用来存储数字,也可以用来保存小数;

b) 提供了比整数大的多的精度;

3)  布尔型:

a)  布尔值有两个:true、false,不区分大小写;

b) 当做为判断条件或转成Boolean值时,以下值是false:

布尔值false、整型值0(零)、浮点型值0.0;

空字符串“”和字符串“0”、没有元素的数组;

没有任何成员变量的对象;特殊类型NULL;

4)  数组:

数组分索引数组和关联数组,用array定义一个数组,数组的元素可以是任意类型的值;如果数组的元素还是数组,那么该变量就是多维数组;

//PHP数组的定义

$array1 = array();

// $array1 = []; //用于7.0版本以后

//索引数组

$student = array(‘梁刚‘,‘郑鸿斌‘,‘易航‘,‘谭俊‘);//索引从0开始

$num = array(1, 2, 3, 4, 5);

//计算数组的元素个数:count();

$an = count($student);

echo $an;

//关联数组

$student1 = array(‘name‘=>‘赵梓茗‘, ‘age‘=>18, ‘height‘=>190.02);

//多维数组

$students = array(

0=>array(‘name‘=>array(‘realname‘=>‘邓海涛‘, ‘age‘=>18, ‘height‘=>190),

1=>array(‘name‘=>‘邓海涛‘,  ‘age‘=>18, ‘height‘=>190),

2=>array(‘name‘=>‘邓海涛‘,  ‘age‘=>18, ‘height‘=>190),

);

var_dump($students);

5)  资源类型:数据库操作,文件操作

6)  对象类型:后面讲

7)  NULL:NULL表示一个变量没值; NULL类型唯一值就是 NULL;

变量检测

1) is_array:是否是数组;

2) is_bool :是否是布尔型;

3) is_float :是否是浮点型;

4) is_int :是否是整数;

5) is_null :是否为 NULL;

6) is_numeric :是否为数字或数字字符串;

7) is_object :是否是一个对象;

8) is_resource :是否为资源类型;

9) is_string :是否是字符串;

10) Isset($a):检查变量是否设置;empty($a):检查变量的值是否为空;

变量类型转换

1) 转为布尔型:(bool)或(boolean);

2) 转为字符型:(string)或strval()函数;

3) 转为整型:(int)或intval()函数;

4) 转为浮点数:(float)或(double);

5) 转为数组:(array);

6) 转为对象:(object);

常量

1)  定义:define(name, value[, flag ]);flag:可选,设置常量名称是否大小写敏感;

2)  检查是否定义:defined ( string name ),参数name是常量名,如定义返回true;

代码的注释

1)      //:单行注释;

2)      /*里面是注水内容,多行*/;

3)      #:单行注释;

PHP输出方式

1)  Echo:输出字符串;

2)  print_r() :打印变量的易于理解的信息;

3)  var_dump():打印易于理解的完整数据信息及结构,包括字符串长度;

4)  exit():打印并停止执行PHP脚本;

5)  die():同exit;

单引号和双引号

1)  双引号里面的变量会解析,单引号不会解析;

2)  双引号里面的变量如果还要内容,最好用{}括起来;

3)  推荐使用单引号:运行效率稍微高点;

4)  如果输出单引号或者双引号,需要转义;

SESSION和COOKIE

1) SESSION:为每个访问者创建一个唯一 id ,并基于这个ID 来存储信息,Session_id()返回当前会话id;

2) 通过session_start() 启动session会话(必须位于 <html> 标签之前);

3) $_SESSION[‘username’] = ’用户账号’; 用于设置session值;

4) $_SESSION[‘username’] 用于获取session值;

5) unset() 用于释放指定的session变量;

6) session_destroy() 将重置所有session数据;

7) cookie 信息存储在用户电脑中,每当用户访问网页时同时会发送cookie ;

setcookie(name, value, expire); 用户设置cookie内容;

$_COOKIE[“user”]用于获取cookie的值;

setcookie(“user”, “”, time()-3600);用于删除cookie内容 ;

表单处理

1)  Action指定后台处理的页面,method指定数据传输方式:

2)  PHP如何接收POST过来的数据:

获取指定输入框的数据:

全部数据存放在一个数据里面的:

3)  PHP接收GET过来的数据方式:$_GET[‘username’];

流程控制

数组一般使用foreach遍历:

$arrar1 = array(1, 56, -89, 120, 568, 1028, 56, 3);

$max = $arrar1[0];

foreach ($arrar1 as $key => $value) {

if($max < $value){

$max = $value;

}

}

echo $max;

函数

1)  函数是可重复使用的代码块,使程序结构清晰,易于维护。

2)  函数内部使用外部的变量使用global;

3)  函数分为自定义函数和内置函数;

function fn(参数1,参数2,参数3…) {

执行的代码;

Return 返回的数据,可以是数组、对象、字符串等

}

文件读写操作

1)  打开文件:$fh = fopen($filename, “打开模式”);打开模式描述如下表:

2)  读取打开的文件指定长度的内容:fread($fh, filesize($filename));

3)  读取文件单行内容:Fgets($fh);

一行一行读取文件所有内容:

while(!feof($fh)){

$str1 = fgets($fh);

}

4)  文件写入:

fwrite($fh, “访客1\tip:112.105.213.20\t时间:2017-03-06 16:42:21 " . PHP_EOL);

5)  关闭打开的文件:fclose($fh);

6)  一次性获取文件内容和写入文件的方式:

//读取远程文件内容

$str = file_get_contents(‘http://localhost/indexmk/preview.do‘);

var_dump($str);

//写入文件

file_put_contents(‘a.html‘, $str);

文件上传

1)  表单method必需为POST;

2)  指定表单enctype属性值为”multipart/form-data” :

enctype:encodetype,即编码类型;

multipart/form-data:表单数据由多部分构成,如文本、二进制数据文件等;

3)  指定input标签的type为file:

<input type=“file” name=“uploadfile” id=“uploadfile” />;

4)  使用$_FILES[‘uploadfile’]获取上传文件的相关信息;

5)  move_uploaded_file() :将上传的文件从临时空间移动到你想保存的目录:

move_uploaded_file($_FILES["uploadfile"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);

面向对象编程

1)      面向对象编程简称OOP( Object-oriented programming );

2)      类是具有相同属性和服务的一组对象的集合;

3)      对象是类的实例;

4)      如何定义一个类:

class Person

{

//类的属性

public $name;

//构造函数,对类和属性进行初始化

function __construct($name1, $age1){

$this->name   = $name1;

}

}

5)      实例化一个对象

$person1 = new Person(‘鲁老师‘, 170);

//调用对象的属性

echo  $person1->name;

6)      成员变量

类中的变量,也称为属性。成员变量用来保存信息数据,或与成员方法进行交互来实现某项功能。

定义成员变量的格式为:关键字 成员变量名。

访问成员变量和访问成员方法是一样的。只要把成员方法换成成员变量即可,格式为:

对象名 -> 成员变量

7)      成员方法

类中的函数被称为成员方法。

函数和成员方法唯一的区别就是,函数实现的是某个独立的功能,而成员方法是实现类中的一个行为,是类的一部分。

class Student{

//学生的名字

var $name;

function setName($name){

//把局部变量给当前对象的全局变量赋值

$this->name = $name;

}

function getName(){

//返回当前对象全局变量$name

return $this->name;

}

}

8)      PHP 构造函数

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值;

function __construct( $name, $age )

{

$this->name = $name;

$this->age= $age;

}

9)      析构函数

析构方法的作用和构造方法正好相反,对象生命周期结束时调用;

function __destruct( $name, $age )

{

echo $this->name;

echo $this->age;

}

10)    类的继承

PHP 使用关键字 extends 来继承一个类,PHP 不支持多继承

class ChildClass extends ParentClass {

// 代码部分

}

11)    访问控制

–     public(公共成员)

可以公开的、没有必要隐藏的数据信息。可以在程序中的任何位置(类内、类外)被其他的类和对象调用。子类可以继承和使用父类中所有的公共成员;

–     private(私有成员)

被private关键字修饰的变量和方法,只能在所属类的内部被调用和修改,不可以在类外被访问。在子类中也不可以;

–     protected(保护成员)

被protected修饰的类成员,可以在本类和子类中被调用,其他地方则不可以被调用;

12)    static: 声明类属性或方法为 static(静态),可以不实例化类而直接访问;

13)    Final 关键字

a)  如果父类中的方法被声明为 final,则子类无法覆盖该方法;

b)  如果一个类被声明为 final,则不能被继承;

14)    调用父类构造方法: parent::__construct();

15)    自动加载类 __autoload()函数:

function __autoload($classname) {

require_once $classname . ‘.php‘;

}

// MyClass1类不存在时,自动调用__autoload()函数,传入参数”MyClass1”

$obj = new MyClass1();

数据库操作:数据库及表的创建

1)  到phpmyadmin管理数据库,访问:http://localhost/phpmyadmin/

输入账号root,密码默认为空,不输入

2)  创建需要的数据库:

3)  数据库创建好后,进入数据库,创建存储数据的表:

数据库操作:PHP链接数据库并操作数据

1)  建立数据库连接:

2)  设置数据库字符编码,防止乱码:

3)  执行SQL语句:

4)  使用完成后关闭数据库连接:

数据库常用SQL语句

1)  添加数据:

2)  查询数据:

3)  删除数据:

4)  更新数据:

5)  查询排序使用ORDER BY:

UTF8编码下的中文排序处理:

6)  多表查询:左连接LEFT JOIN,右连接RIGHT JOIN,内连接INNER JOIN

班级表 和 学生表:

LEFT JOIN:

查询结果:

描述:所有students(左边的表)信息,class(右侧表)的值可以为NULL;

RIGHT JOIN

查询结果:

描述:所有class(右侧表)信息,students(左边的表)的值可以为NULL;

INNER JOIN:

查询结果:

描述:class 和 student 的值都不能为NULL;

7)  WHERE更多判断条件:

数据修改业务逻辑

1)  首先获取数据原始信息,展示在页面上;

2)  把对应的input输入框的value值设置为数据库获取到的原始信息;

3)  修改信息需要传递而不需要展示给用户的,如主键id,使用type为hidden的input来传递;

4)  整个需要修改的数据需要放在一个表单中,包括hidden值;

5)  修改完成后提交给PHP,PHP根据获取的数据设置对应字段的新值及判断条件的值,执行UPDATE语句;

数据库基础概念

1)  数据库服务器:安装了数据库管理系统软件的计算机叫数据库服务器;

2)  数据库管理系统:简称DBMS(Database Management System),是用来管理数据库的软件;

3)  数据库:数据库(Database)是用来存储和管理数据的仓库;

4)  数据表:数据库中存放数据的地方,一个数据库中可包含若干个数据表;

5)  记录:表中的行叫记录,通常用它所在的行数(id值)表示这是第几条记录;

6)  字段:一条记录由多列构成,每个列称为字段;

7)  数据:存放在表行列交叉处的值就叫数据;

MySQL数据库命令行操作

1)  为了操作方便先修改环境变量:

2)  登录到数据库:mysql –h主机名 –u用户名 –p 回车,然后输入密码;

3)  退出MySQL:exit或quit

4)  在MySQL客户端,使用set修改密码:

set  password = password(‘新密码’);

5)  创建数据库:

create database [if not exists] dbname [charset 字符集]

通常使用的字符编码是utf8,我们可以通过修改配置文件来设置默认的字符编码,这样在创建数据库和表的时候就可以不用去选择utf8 的编码;

6)   使用指定的数据库:

use  databasename;

7)  显示数据库中的表:

show  tables;

8)  显示所有数据库:

show  databases;

9)  删除指定的数据库:

drop  databse  dbname;

10)      数据库信息存在data目录下:

11)      表信息由三部分组成:

修改MySQL配置文件my.ini:

 

常见错误调试方法

MVC的模式设计程序

 

后续学习:

  1. 完善项目;
  2. 看PHP手册;
  3. 看笔记;
时间: 2024-12-29 07:56:35

PHP文档资料的相关文章

程序员开发学习利器篇(下)之文档资料软件-获取软件、资料的最好途径

以下内容,开发初学者看,熟手略过. 论语有言: 工欲善其事 必先利其器 ,意思是工匠想要使他的工作做好,一定要先让工具锋利.比喻要做好一件事,准备工作非常重要. 第二篇我们来说说软件.文档资料.信息获取的高效途径. 首先说句题外话,程序员的软件.资料学习盘 应该是这个样子的: 文件夹视图应该是 详细列表 并且应用到电脑所有文件夹,方便查看文件的全名 最新的修改日期 类型 大小.并且文件显示应该是全名称 包括后缀名,文件目录起名字最好都是英文的,尤其是软件的安装目录,因为有些软件不识别中文的路径.

秦柯视频与文档资料-全集

秦柯视频与文档资料-全集:http://blog.csdn.net/wangningyu/article/details/4457806

文档资料记录

版本控制: git http://git-scm.com/book/zh/ 无线互联网: 一秒钟法则:来自腾讯无线研发的经验分享 图书推荐 国外程序员推荐:每个程序员都应读的书文档资料记录,码迷,mamicode.com

关于PKCS的文档资料

关于PKCS的文档资料,在这里查找: http://www.emc.com/emc-plus/rsa-labs/standards-initiatives/public-key-cryptography-standards.htm

文档资料文字怎么在线转换成语音内容

文档资料文字怎么在线转换成语音内容,由于工作的需要,每天都需要看文档资料,严重的用眼过度,而且很多时候出门在外看文档特别不方便,如果将文字转换成语音内容,这样不仅在外也可以阅读,而且大大的提高了工作的效率,那如何进行文字转语音的操作呢!步骤一:我们借助电脑,在浏览器中搜索"迅捷语音云服务"并点击进入到在线操作平台.步骤二:进入到在线操作平台后,选择转换功能"文字转语音"进入待转换界面.步骤三:在待转换页面输入框内输入/粘贴需要转换的文本内容. 步骤四:待转换页面下方

常用的技术类在线参考手册与文档资料

平常学习编程或者模块, 有很多在线帮助文档或者手册可以参考, 查询, 现在把它们记下来, 再次寻找的时候比较方便. 文档类: 爬虫: Scrapy1.2 文档: http://python.usyiyi.cn/translate/scrapy_12/index.html Beautiful Soup 4.4.0 中文文档: http://beautifulsoup.readthedocs.io/zh_CN/latest/ Requests中文参考手册: http://cn.python-requ

Niagara帮助文档资料整理

1.任何软件额发布都会有说明文档,有的不会附具体实践的操作步骤,存在不懂得问题一般可以通过查看榜文文档解决问题 一些软件的帮助文档是一PDF格式存储在软件安装的目录下面,如Niagar workbench 的帮助文档的说明书就在  docs 目录下面     2. 组成结构 Paltform   屏蔽操作系统特性,向上层提供接口 Station   承载具体的业务逻辑,向用户听过访问. Workbench NiagaraAX 操作界面,可以图像化配置Station和 Platform 2.Pla

cobar文档 - 资料集合

Home - Cobar - Alibaba Open Sesame.mht 产品文档(未完成) - Cobar - Alibaba Open Sesame_action.mht 路由算法 - Cobar - Alibaba Open Sesame_action.mht rule - Cobar - Alibaba Open Sesame.mht 数据源心跳配置 - Cobar - Alibaba Open Sesame_action.mht 阿里巴巴Cobar架构设计与实践.ppt Cobar

信息安全:文档资料如何防护

企业内网对于一个企业网络安全面临的风险,并充分评估这些风险可能带来的危险,将是实施安全建设中必须首要解决的问题,也是制定安全策略的基础和依据.那么,究竟企业在那些方面存在安全风险?企业内网安全产品又能给企业带来什么样的价值?对此,电脑管家从内网安全涉及到的信息方面做了解读: 信息:内部机密文档安全 企业中与业务相关的信息有九成左右都会以电子文档的形式存在,这些内部信息往往涉及商业机密,甚至是企业的核心关键技术,保密性要求甚高,一旦泄密,极有可能给企业带来巨大的经济损失. 1.企业内部可能存在专门