外贸网站建设技术php的要点学习总结
外贸网站建设技术人员的储备人才学习php技术的手册,现将分享给工作在第一线的php开发人员
Boolean布尔型的假值如下:  (相反其它的全部为真)

1,bool  false 为假

2,int  0为値假 

2.2  float   0.0,0.00为假

3,string  “”, “0”  为假

4,array 空数组为假

5,NULL 为假B

常量定义及注意细节

define(”ROOT”,10);

1,默认是区分大小写的,但是可以通第三个参数 true来改变不区分大小写,默认第三个参数是false

2,常量的值只能是四种数据类型(整型,浮点,布尔,字符串),其它类型都不行

3,常量不能用unset释放

4,用defined()用来判断常量是否存在

5,一旦定义就不能被改变或取消

PHP 变量 分以下几种 

1,局部变量(函数内容声明的变量)

2,全局变量(函数外部声明的变量)

3,常量 define(“名称”,值);

4,系统9个全局变量$_POST,$_GET, $_REQUEST, $_SERVER, $_COOKIE, $_SESSION等等9个

5,$GLOBAL全局数组变量

6,静态变量(在函数内声明静态变量,在第一时间声明,static $a),静态变量是存放在内存静态区,直到脚本结束时才释放

7, 释放变量方法 unset($a) 或者 $a=NULL;

函数

1,有返回值和无返值

a, 无返值通过是执行输出结果

b, 有返回值,返回一个变量,这个变量可以任何类型(字符串,数值,数组,对象),通过return语句返回

变量与函数的关系

1,常量和9个系统全局变量可以直接在函数体内使用,无须声明

2,全局变量要在函数体内使用,事先在函数体内声明关键字global,方法如下  global $a;

3,变量要在函数调用前面进行声明。与函数定义的位置无关,只与调用的位置有关。

函数的传参数类型说明

number 任何数字类型

mixed 任何类型

callback 回调函数类型

变量的引用,地址的变化

只有变量才有地址,具体值是没有地址的。

$a=10;

$b=&$a;

变量b是a的别名,或者说b的指针指向a的地址

传参的引用,必须是变量,不能是具体的值,否则会出错。

函数内部声明一个函数可以接收到调用本函数的所有参数

eg:function Demo(){

    $arr =  fun_get_args();

}

Demo(1,2,3,4,5,6);

变量函数 , 应用多,要重点撑握

function add($a,$b){
     return $a+$b;

}

$val=“add”;

echo $val(10,20);


回调函数的用法, 重点撑握

$arr=array(1,2,3,4,5,6,7);

function demo($a, $b){

    if($a>$b)

       return 1;

  elseif($a<$b)

       return -1

else

     return 0;

}

functon aa($c,$d){

}

usort($arr,”demo”); //数组排序

或者

aa(100,”demo”); //自定义调用

print_r($arr);

回调函数,传参数的方法

call_use_func_array(“函数名”,Array)

匿名函数使用

命名规范如下

$var = function(){    //function后面直接连括号

}; //一定要以分号结束

调用 echo $var();

也可以传参数进去

匿名函数是对象(内置对象)

闭包

匿名函数调用函数内的变量, 使用关键词 use

function demo(){

   $a=1;

    $b=2;

   $var=function($str) use ($a,$b){

           echo $str;

        echo $a+$b;

    }

    echo $var(“xingbell”);

}

demo();

函数作为参数,来调用

function demo($arr,func()){

}

demo($arr,”函数名”);

数组

1,数组下标默认是索引,从0开始。

2,php5.4版本,支持 $arr= [1,2,3,4,5];  写法

3, 新版数组的输出方法

function demo(){

        return array(1,2,3);

}

echo demo()[0]; // 1

4, 如何删除数组中元素,使用unset, 下标不会得新索引,需要用array_values()重新索引

5. for遍历数组的前提条件,该数组必须是连续下标的索引数组才行。

6.list()函数

a. list()是一个函数,这个函数与其它的函数用法不同

b. 数组中有几个元素,在list()中就用几参数,而且参数必须是变量(新声明自定义变量),不能是值

c. 只能将索引数组,而且下标是连续的,转为变量,是按下标0开始找的。

d. 可以在list()参数中以空项选择性的接收数组中的元素

等号左边使用list()函数,等号右边是一个数组。

list()=$arr; 或者 list()= [1,2,3,4]

list的作用

超全局数组变量(超全局变量)

超全局数组(变量),在php的脚本中,已经声明完的变量,可以直接使用,变量名已定好的

1,数组(关联数组),就和你在自己声明的数组是一样的操作方式

2,全局

3,每一个预定的变量有自己的独特的能力

9个全局变局(数组)如下:

$_SERVER

$_ENV

$_GET

$_POST

$_REQUEST

$_FILES

$_COOKIE

$_SESSION

$GLOBALS

数组中键值搜索相关的函数

in_array(“string”,$arr)

面向对象

类和对象的关系: 类只是对象的描述,对象具有类中所有的属性和方法

类的的声明方法

class  类名{

      //成员属性  ,成员属性前面必须要修饰词 ( var, static, public, provate…..), 在不知道的情况下用var

     var $name
      //成员方法
    funciton a(){

      $this->name. “在处理事务”;

}

}

this的理解, 当我们实例化一个类时候,每一个对象有自己的成员属性的和方法,在方法中如何要用到自己的属性,就必须使用this来标明,使用方法如下:$this->name;

构造方法

1,是对象创建完成以后,第一个自动调用的方法(特殊)

2,方法名称比较特殊,类名相同同名的方法名 (php4里面)

3,给对象中国成员赋初值使用的

4,构造方法可以传参

构造方法 == 魔术方法 __countruct(){

}  (php5出来的,以后用魔术方法)


析构方法

1,在对象在消失之前,最后一个调用的方法

2,当对象赋为空,或unset,或脚本运行结束,引用断掉后,就会启动垃圾回收机制

function __destruct(){

}

3,析构方法中不能传参数

平时一般是用析构方法是用来释放资源,操作文件(关闭),关闭操作数据库结果集

封装

在类里面,我们如果不想让对象使用某方法,在方法前面添加private的修饰词,但是在类里面,类方法可以调用封装的方法

class demo{

    public $name;

    public $age;

    function run(){   //类里面可以自己调用自已

     $this->left();

     $this->right();

    }

         private left(){

        return   …..

     }

    private left(){

        retrun ……

    }

}

$demo1= new demo;

$demo->run();  //可以调用

$demo->left();  //不能调用

属性封装后,不能给属性赋值,不能访问属性

魔术方法基本上都是自动调用

__get($a)  //自动调用,是在直接访问私有属性时,要传一个参数  (使用机率多一点)

__set($a,$b)   //自动调用,是在直接访问私有属性时,两个参数(使用机率多一点)

 ___isset($a)   //自动调用 , 判断对象中是否存在属性 (不常用)

___unset($a)  //自动调用,不用返回值,直接删 (不常用)

继承 Extends

1,子类使用 extends 继承父类,子类可以将父类中所有的内容都继承过来

2,private 这是私有的,只能自己用,不能别人用,包括自己的子类也不能用。

3,protected 这是个保护的权限,只能是自己和自己的子类中可以使用的成员,不能在外面使用。

4,public 这个是公开的权限,所有都可以,自己,子类,类外都可以使用。

继承中的重载(覆盖)

1,在子类中可以写和父类同名的方法,方法也可以扩展

parent:: 指父类类名,使用parent::方法访问父母中被覆盖的方法
class demo {
   function say(){

         ……

    }

}




class demo_sub  extends demo{

      function say(){




        parent::say();

            echo “$this->school”;

    }

}

2,构造函数在子类覆盖的时候,一定要先调用一下

class demosub extends demo{

     var $school;

       function __coustruct($a,$b,$c,$d){

         parent::__coustruct($a,$b,$c);

         $this->school=$d;


}

}

php外贸网站建设学习干货。




 
在线咨询
索要报价
返回顶部