-
方法蛮多的查看全部
-
属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。查看全部
-
数组下标0的结果($matchs[0])是整个表达式的匹配结果,下标1的结果($matchs[1])是第一个小括号里的表达式 (.*) 的匹配结果,如果还有第二,第三个括号,那么以此类推查看全部
-
对象序列化,可以通过serialize方法将对象序列化为字符串,用于存储或者传递数据,然后在需要的时候通过unserialize将字符串反序列化成对象进行使用。查看全部
-
关于match数组的说明: 文档上的解释为:如果提供了参数 matches ,它将被填充为搜索结果。 $matches[0] 将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。 文档上对于子组的说明为:子组通过圆括号分隔界定,并且它们可以嵌套。 如果正则表达式写为$p = '/\w+\s\w+/';,则没有子组,$matches[1]为空,而$matches[0]包含所匹配的文本;但是将表达式加上括号写为$p = '/(\w+\s\w+)/';,则有了子组,此时$matches[1]与$matches[0]相同。查看全部
-
属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。查看全部
-
<?php class Car { public $speed = 0; //汽车的起始速度是0 public function speedUp() { $this->speed += 10; return $this->speed; } } //定义继承于Car的Truck类 class Truck extends Car { public function speedUp(){ $this->speed = parent::speedUp()+50; /*上面的parent::静态方法是用于子类调用父类的方法 *这里是意思是先调用父类的speedUp()方法,此时$speed==10 *再在10的基础上累加50,此时$speed==60 *大概就是这个意思吧 *其实这一节没有说清楚parent关键字的用法和子类的声明方法 *如果细心的同学就会发现,前面有一节出现了“extends” *那个类就是子类 */ //return $this->speed; //这里返不返回都一样,程序运行到这的时候$speed已经等于60了,而且下面有个echo语句 } } $car = new Truck(); $car->speedUp(); echo $car->speed;查看全部
-
class Car { private function __construct() { echo 'object create'; } private static $_object = null; public static function getInstance() { if (empty(self::$_object)) { self::$_object = new Car(); //内部方法可以调用私有方法,因此这里可以创建对象 } return self::$_object; } } //$car = new Car(); //这里不允许直接实例化对象 $car = Car::getInstance(); //通过静态方法来获得一个实例查看全部
-
PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,此常用来在对象创建的时候进行一些初始化工作 例:class Car { function __construct() { print "构造函数被调用\n"; } } $car = new Car(); //实例化的时候 会自动调用构造函数__construct,这里会输出一个字符串 在子类中如果定义了__construct则不会调用父类的__construct,如果需要同时调用父类的构造函数,需要使用parent::__construct()显式的调用。 例:class Car { function __construct() { print "父类构造函数被调用\n"; } } class Truck extends Car { function __construct() { print "子类构造函数被调用\n"; parent::__construct(); } } $car = new Truck(); PHP5支持析构函数,使用__destruct()进行定义,析构函数指的是当某个对象的所有引用被删除,或者对象被显式的销毁时会执行的函数。当PHP代码执行完毕以后,会自动回收与销毁对象,因此一般情况下不需要显式的去销毁对象。查看全部
-
PHP代码中常见"::"的操作符,这个是作用域限定操作符,它用来置顶类中不通作用域的级别,左边是作用域,右边是访问作用域的成员。 作用域限定操作符(也可称作:范围解析操作符)或者更简单地说是一对冒号, 可以用于访问静态成员、方法和常量,还可以用于覆盖类中的成员和方法。 在PHP中定义作用域的有self和parent,在PHP6中提供了static作用域。 self:表示当前类的作用域,不能在类之外的代码使用self,在扩展类中使用self时,它调用的不是父类的方法,而是扩展类的重载方法。 parent:表示当前类父类的作用域。 双冒号范围解析操作符一般是用在静态方法、静态变量的调用,此时类不需要实例化。 而用箭头操作符->时,必须要将类进行实例化(或者在类的内部调用也可以)。查看全部
-
$this 在同一个类下调用类中变量,写法上,为$this->speed,即为调用了类中的$speed变量,而不能直接写为$speed,除非$speed变量直接定义在方法里面。 使用关键字static修饰的方法,称之为静态方法,静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::。 class Car { public static function getName() { return '汽车'; } } echo Car::getName(); //结果为“汽车”查看全部
-
属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成。 class Car { //定义公共属性 public $name = '汽车'; //定义受保护的属性 protected $corlor = '白色'; //定义私有属性 private $price = '100000'; }$car = new Car(); echo $car->name; //调用对象的属性 echo $car->color; //错误 受保护的属性不允许外部调用 echo $car->price; //错误 私有属性不允许外部调用查看全部
-
//定义一个类 class Car { //定义属性 public $name = '汽车'; //定义方法 public function getName() { //方法内部可以使用$this伪变量调用对象的属性或者方法 return $this->name; } } 要创建一个类的实例,可以使用new关键字创建一个对象。 $car = new Car(); //也可以采用变量来创建 $className = 'Car'; $car = new $className(); <?php //定义一个Car类并实例化一个对象 class car{ var $name="奔驰"; function getname(){ return $this->show; } } $acr =new car(); echo $acr->name."<br/>"; $acr->show="奥迪"; echo $acr->getname(); 奔驰 奥迪查看全部
-
通常定义一个汽车类的方法为: class Car { $name = '汽车'; function getName() { return $this->name; } } 类是一类东西的结构描述,而对象则是一类东西的一个具体实例,例如汽车这个名词可以理解为汽车的总类,但这辆汽车则是一个具体的汽车对象。 对象通过new关键字进行实例化: $car = new Car(); echo $car->getName();查看全部
-
\d表示0-9数字 \-表示- //开始结束的标志 +多次执行 /\d+\-\d+/ 整条代码意思是:多次匹配数字-多次匹配数字查看全部
举报
0/150
提交
取消