PHP学习笔记

面向对象的特征:

        对象唯一性、分类性、继承性、多态性

分类性:拥有相同数据结构(属性)和行为(操作)的对象被抽象成为一个类。任何类的划分都是主观的,用于解决实际应用的相关问题。

多态性:指相同的操作、函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一条消息将可以产生不同的结果,这种现象称为多态性。


在执行对象的方法时,PHP将自动定义一个$this的特殊变量。该变量表示对对象本身的引用。

构造函数: 若类中定义了构造函数,它将自动被调用。通常构造函数用于自动执行对象的初始化操作,如对象属性的初始化。

function __construct($name, $size){
 //初始化代码
}
析构函数:她是在函数注销时所调用。通常PHP会在所有请求都结束时自动释放该对象占用的所有资源,所以析构函数显得不是特别重要。
function __destruct(){

}

类的实例化:用new创建对象时,自动调用构造函数,对对象赋值为null时自动调用其析构函数__destruct().脚本执行结束时也会自动调用其析构函数。

类常量:使用关键字const定义即可。类常量不属于任何类的实例,只属于类本身。(类中的常量是大小写敏感

静态属性:使用关键字static实现定义。静态属性和类常量一样,不属于任何类实例,只属于类本身。

<?php
class myClass{
    const PI = "3.1415926";
    static $name = "Jack";
    public function showName(){
        return self::$name;
    }

    public function showPI(){
        return self::PI;
    }

}

echo myClass::PI;
echo myClass::$name;
?>


访问类常量和静态属性一样分为两种情况:一种是在类的内部访问、另一种是外部访问。

魔术方法:

    1、字符串转换函数__toString()

    2、字符串转换函数__clone()

备注:

1:在php中{$param}, 在大括号中放变量是为了告诉php这里面是参数。

$param = 100;
echo "{$param}hello";
结果:100hello

2:一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个Web站点所能设置的Cookie总数不能超过20个。

PHP交互:

采用POST方法传输的数据量大,可以达到2M;采用GET方法提交数据,收到URL长度影响,最多只能传输约1024k字节。

AJAX:

创建XMLHttpRequest

IE3.0、IE4.0、或5.0

xmlhttp_request = new ActiviteObject("Msxml2.XMLHTTP.3.0");

IE6.0

xmlhttp_request = new ActiviteObject("Msxml2.XMLHTTP");
IE7.0及以上
xmlhttp_request = new ActiviteObject("Microsoft.XMLHTTP");

Mozilla、Netscape、safari

xmlhttp_request = new XMLHttpRequest();
如果服务器响应的header不是text/xml,可以调用如下的其他方法修改该header。
xmlhttp_request = new XMLHttpRequest();
xmlhttp_request.overrideMimeType('text/xml');

SimpleXML:创建SimpleXML对象来直接操作XML。

1:创建SimpleXML

$xml = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<module>
    <id>1</id>
    <name>name</name>
    <class>class</class>
</module>
EOF;
$simpleXML = simplexml_load_string($xml);
print_r($simpleXML );

2:直接读取对象的属性

<?php
$simpleXML = simplexml_load_string($xml);
echo "id:".$simpleXML->id;
echo " name:".$simpleXML->name;
echo " class:".$simpleXML->class;
结果:id:id name:name class:class.

3:循环读取XML文件

<?php
$xml = <<<EOF
<?xml version="1.0" encoding="utf-8"?>
<modules>
	<module>
		<id>M1</id>
		<name>Module one</name>
		<class>M1_class</class>
	</module>
	<module>
		<id>M2</id>
		<name>Module two</name>
		<class>M2_class</class>
	</module>
	<module>
		<id>M3</id>
		<name>Module three</name>
		<class>M3_class</class>
	</module>
</modules>
EOF;
$simpleXML = simplexml_load_string($xml);
foreach($simpleXML->module as $module){
    echo "id:".$module->id."<br>";
    echo "name:".$module->name."<br>";
    echo "class:".$module->class."<br>";
 }


3:根据XML路径进行查询

array xpath(string $path);

4:XML数据的存储

mixed asXML([string $filename])

动态创建XML文档

在PHP中,DOM扩展作为内核的一部分进行安装的,在脚本中可以直接使用。创建DOM对象默认调用其构造函数__construct(),

__construct([string $version[,string $encoding]])

例子:

<?php
$dom = new DOMDocument("1.0", "UTF-8");//创建DOM对象
$modules = $dom->createElement("modules");//创建元素节点
$dom->appendChild($modules);//将modules元素节点以根节点添加到dom对象中

$module = $dom->createElement("module");
$modules->appendChild($module);
$id = $dom->createElement("id","M1");
$name = $dom->createElement("name","name1");
$name = $dom->createElement("class","class1");
$module->appendChild($id);
$module->appendChild($name);
$module->appendChild($class);

$dom->save("1.xml");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值