zoukankan      html  css  js  c++  java
  • 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'=>'dxp@163.com');

             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 ip:112.105.213.20 时间: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. 看笔记;
    你好!如果你有什么更好的建议或意见,请在评论区留言。感谢你的阅读!
  • 相关阅读:
    方法的重载
    构造方法
    方法与主方法
    类的一般形式
    多维数组
    如何使用数组
    数组的创建以及初始化
    流程控制之break、continue、return的用法
    流程控制之循环结构
    流程控制值选择结构
  • 原文地址:https://www.cnblogs.com/YCxiaoyang/p/7429384.html
Copyright © 2011-2022 走看看