1.变量管理1.isset用于判断一个变量是否已经被PHP声明过,返回一个布尔值。如果定义了变量,则返回true,否则返回false。当变量定义为null时也返回false。也可以检查是否设置了数组中的元素。它可以接受任意数量的参数isset($val1,$val2...)但仅当所有参数都已设置时才返回true。unset在定义之前取消该变量,如果没有其他变量引用则释放该变量的内存空间。使用inset检测unset的值返回false3.empty检测一个变量是否被声明或者是否为false超全局变量$_GET:一个get变量,包含从客户端浏览器接收到的所有php$_POST:一个包含从客户端浏览器接收到的所有php客户端浏览器接收到的post变量$_COOKIE:包含php从客户端浏览器接收到的所有cookie的数组$_ENV:包含环境变量的数组$_SERVER:存储web环境变量的数组2.将双引号变量转义回parse,单引号不会被解析。双引号可以转义,单引号不能转义3.PolymorphicclassCat{functionmiau(){print("miau");}}classDog{functionwuff(){print("wuff");}}functionprintResult($obj){if($objinstanceofCat){$obj->miau();}elseif($objinstanceofDog){$obj->wuff();}else{print("错误:错误的对象");}}echoprintResult(newDog());echo"
";echoprintResult(newCat());//下面是结果wuffmiau可以看到这个例子无法扩展,如果再添??加一个动物你必须改源码,所以用下面的方法替换创建父类,创建cry方法。然后创建两个子类猫狗类也创建一个cry方法(重写父类的方法),然后用一个实例函数判断对象并转移。这确保了该方法的可扩展性。添加子类继承父类。而不是改源码//定义一个父类classFather{functioncry($arg){print($arg);}}classCatextendsFather{functioncry(){print("Cat");}}classDogextendsFather{functioncry(){print("Dog");}}functionprintResult($obj){if($objinstanceofCat){$obj->cry();}elseif($objinstanceofDog){$obj->cry();}else{print("错误:错误的对象");}}echoprintResult(newDog());echo"
";echoprintResult(newCat());4.父类,parent::self::self::在子类中调用当前类的方法,属性parent::调用父类的方法和属性//parentclassFather{constname='father';公共函数__construct(){打印(self::name);}}//子类classchildextendsFather{constname='child';公共函数__construct(){parent::__construct();回声'
';打印(自我::名字);}}$child=newchild();5、instanceof运算符判断类的逻辑二元运算符classFather{public$name=__CLASS__;}classChildextendsFather{public$name=__CLASS__;}classtest{public$name=__CLASS__;}functionjudge($obj){if(!($objinstanceofFather)){print($obj->name);print('是爸爸');}}judge(newChild());judge(newtest());6.toString方法(里面是return的值)classPerson{private$name;函数__construct($name){$this->name=$name;}function__toString(){return$this->name;//一定要返回值调用类的时间后返回}}$obj=newPerson('mmyfamily');print($obj);7.trycatchexception必须继承异常类NullHandleExceptionextendsException{function__construct($message){parent::__construct($message);}}functionprintObj($obj){if($obj==null){thrownewNullHandleException("printObjectreceivednullobject");}print($obj.'
');}classMyName{private$name;函数__construct($name){$this->name=$name;}函数__toString(){返回$this->名称;}}try{printObj(newMyName("boss"));打印对象(NULL);printObj(newMyName("jone"));}catch(NullHandleException$e){print$e->getMessage().'
';打印“在文件中”。$e->getFile().'
';打印“在线”。$e->getLine();}//结果是bossprintObjectreceivednullobjectinfile/mnt/hgfs/www/test/class.phponline2698.__autoload自动加载MyClass.phpclassMyClass{functionhello(){print"朋友你好”;}}general.incfunction__autoload($class_name){//echo$_SERVER["DOCUMENT_ROOT"]."/classes/".$class_name.".php";require_once($_SERVER["DOCUMENT_ROOT"]."/classes/".$class_name.".php");}main.phprequire_once('general.inc');$class=newMyClass();echo'hello';exit;$class->hello();//__autoload主动调用类自动加载(loading)**给程序员一个鼓励!**微信支付宝
