- 浏览: 404871 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
goahead2010:
有用
JS遍历对象或者数组 -
bishibaodian:
不要在这样找笔试题了,一次就这么几个,还没过瘾就没有了,去安装 ...
整理了一份招PHP高级工程师的面试题 -
smallearth:
不错
整理了一份招PHP高级工程师的面试题 -
ipodao:
暂时没发现啊!
IE域名带有下划线导致的session丢失 -
ipodao:
谢了
JS遍历对象或者数组
写PHP也已经有一段时间了,回忆之前写Java的一段经历,现归纳一些基本的概念
1.static关键字:
static关键字的目的是使方法或者属性名独立于类的实例,也就是说和类是同一级别的,与对象或者类本身关联。
static修饰的方法或者属性是可以通过类名直接访问的,当然,也是可以初始化对象,通过实例来访问。
所以static修饰的方法或者属性也叫全局变量或者方法
2.this关键字:
this关键字是与对象或者类的某个实例关联的
**不能在static方法中使用this关键字
3.self关键字:
self关键字是指向对象或者类本身,不指向任何已经实例化的对象
一般用来指向对象或者类中俄静态变量
4.parent关键字:
parent关键字即指向父类的指针
一般用来调用父类的构造方法
<?php class Test{ private $name = ''; private static $age = 20; public function __construct(){ $this->name = 'test'; } public function setName($name){ $this->name = $name; echo $this->name; } public static function setAge($age){ self::$age = $age; echo self::$age; //$this->age = $age; //error Using $this not in object context } } $test = new Test(); $test->setName('KingJ'); //KingJ echo '</br>'; $test->setAge(99); //99
5.继承的调用
<?php class A{ public function a(){ echo 'A:a'; } } class B extends A{ public function bb(){ $this->a(); } } $test = new B(); //此刻初始化子类B的时候,由于之类没有构造方法,就调用父类的构造方法a(),此时输出A:a $test->bb(); //在之类中可以用$this->function来调用父类的方法
6.PHP中的引用
php的引用就是在变量或者函数、对象等前面加上&符号
首先我们来看一个例子:
<?php $a = 100; //声明变量a $b = &$a; //声明变量b,引用自变量a echo "$a <br />"; echo "$b <br />"; $a++; //变量a自增1 echo "$a <br />"; echo "$b <br />";//查看变量b,也增加了1,说明使用的是同一存储单元
结果:
100 100 101 101
php中对于地址的指向功能不是由用户自己来实现的,是由Zend核心实现的,php中引用采用的是“写时拷贝”的原理,就是除非发 生写操作,指向同一个地址的变量或者对象是不会被拷贝的。
php默认为传值传递:
<?php $a = 20; $b = $a; $a = $a + 10; echo $a.' and '.$b;
结果:
30 and 20
要是想变为地址传递需要加&,既:
<?php $a = 20; $b = &$a; $a = $a + 10; echo $a.' and '.$b;
结果:
30 and 30
也就是说,&把$a的地址传给了$b,这样的话这两个变量现在共享一个内存的存储区域,就是说它们的值是一样的。
同样的语法可以用在函数中,它返回引用,以及用在 new 运算符中:
<?php $bar =& new fooclass(); $foo =& find_var($bar)
引用做的第二件事是用引用传递变量。这是通过在函数内建立一个本地变量,并且该变量在呼叫范围内引用了同一个内容来实现的。说的通俗点就是一个函数的参数是一个本地变量的引用。下面再举例说明一下:
<?php function foo(&$val1, $val2) { $val1 += 1; $val2 += 1; } $a=5; $b=10; foo($a,$b); echo $a; echo $b;
运行这段代码是给函数传递两个参数,一个是引用$a的内容,一个是$b的值,在执行此函数后,发现$a的内容改变了,而$b的内容则没有变化。
PHP引用的第三个用法是引用返回,这个用法理解起来有点难度,引用返回用在当你想用函数找到引用应该被绑定在哪一个变量上面时。当返回引 用时,使用此语法:说的简单点,就还是引用函数的返回。但和参数传递不同,必须在函数定义和函数引用这两个地方都用 & 符号。下面举个例子:
<?php function &find_var ($param) { /* ...code... */ return $found_var; } $foo =& find_var ($bar); $foo->x = 2;
这个例子给$foo 赋值是函数find_var的返回引用,所以在给$foo->x赋值时就是给find_var的返回引用赋值,而不是简单的赋值。
PHP引用的最后一个用法是引用定位,主要有两个应用:一个是global 引用,当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是和$var =& $GLOBALS["var"];是一样的。另外一个是$this的用法,在一个对象的方法中,$this 永远是调用它的对象的引用。
7.php中的global
global $var1,$var2;
就是外部变量的同名引用,变量本身的作用范围仍然在函数体内。改变这些变量的值,外部的同名变量自然也改变。但是一旦用了&,那么变量将不再是同名引用。
$var1=1; $var2=2; function test() { global $var1,$var2;//作用范围就在函数体内 $var1=3; } test(); echo $var1;
结果一定是3。因为是同名引用嘛。
$var1=1; $var2=2; function test() { global $var1,$var2;//作用范围就在函数体内 $var1=&$var2; } test(); echo $var1;
结果一定是1。因为在函数内的$var1经过赋值后与$var2具有相同的引用了。
$var1=1; $var2=2; function test_global() { global $var1,$var2; $var1=&$var2; $var1=7; } test_global(); echo $var1; echo $var2;
结果一定是1和7。因为在函数内的$var1与$var2具有相同的引用。因此改变$var1的值,$var2的值也作了改变。
next to do ------------------------------------------
发表评论
-
引用和global
2013-02-01 18:05 840<?php $var1 = 1; $var ... -
面向对象之多态
2013-02-01 17:49 987Java实现 //定义接口Animal interf ... -
PHP HTTP Authentication
2012-11-22 17:39 893<?php $config['admin_ ... -
PHP实现的栈
2012-11-16 13:44 976<?php class Stack{ ... -
pearl && pecl
2012-09-21 15:02 963Pear:是PHP的扩展代码包,所有的扩展均以PHP代码的形式 ... -
PHP集成PayPal
2012-09-18 18:34 18921.注册开发者账号,注册完登陆,然后新建一个Business账 ... -
PHP中 Magic quotes
2012-06-26 17:45 1332什么是 Magic Quotes? Magic Quo ... -
php请求
2012-06-20 15:25 975wev-server处理一个php请求,是给 ... -
一个CURD的demo
2012-06-13 16:19 0一个后台管理的demo -
php
2012-06-09 18:22 0redis是个单线程的程序,为什么会这么快呢?每秒100 ... -
PHP的工作模型
2012-06-05 17:16 1373http://www.mike.org.cn/arti ... -
phpstorm3.0以下的注册码
2012-03-31 09:52 906EMBRACE ===== LICENSE B ... -
call_user_func函数和call_user_func_array函数
2012-03-09 14:56 10041.call_user_func函数是当需要动态调用函数时,才 ... -
SNS
2012-03-08 16:09 01.AS可以打包多个请求成一个包然后一起发送,服务端然后一个一 ... -
PHP this,self 和 parent 关键字
2012-02-29 22:23 891我们先建立几个概念,这三个关键字分别是用在什么地方 呢? ... -
一些截取的函数
2012-02-29 18:33 0<?php $str = 'abcdk123 ... -
细说PHP中strlen和mb_strlen的区别
2012-02-29 16:53 1318在PHP中,strlen与mb_strlen ... -
PHP数据库
2012-02-28 16:36 0但对于 PHP 语言来说它是放在 Apache 上的,每一个请 ... -
PHP取权重
2012-02-17 14:42 1063在实际的开发过程中,经常会用到一些几率的时间,例如有这样一个奖 ... -
整理了一份招PHP高级工程师的面试题
2012-02-08 09:04 422391. 基本知识点 HTTP协议中几个状态码的含义:1xx( ...
相关推荐
### PHP面向对象手册知识点解析 #### 一、面向对象编程简介 面向对象编程(Object-Oriented Programming,简称 OOP)是一种程序设计范式,它将数据和处理数据的方法捆绑在一起形成“对象”。OOP 的核心思想是通过...
《深入PHP面向对象模式与实践第2版》是一本专注于PHP面向对象编程的书籍,它不仅涉及到面向对象编程的基础知识,还深入讲解了面向对象设计模式以及如何在实际项目中应用这些模式。该书是对PHP开发者掌握面向对象技术...
本教程将探讨PHP5中的面向对象基础,为后续的深入学习打下坚实的基础。 首先,我们需要理解面向对象编程的核心概念:类(Class)和对象(Object)。类是定义数据类型的一种模板,包含了属性(Variables)和方法...
以下是在 PHP 中实现面向对象编程的一些关键点: 1. **类的定义**: ```php class MyClass { public $myVariable; function __construct() { $this->myVariable = "Hello World!"; } function display()...
本书以PHP面向对象编程的基础概念为切入点,详细阐述了类与对象、封装、继承、多态等面向对象的核心概念。通过对这些基础概念的系统讲解,作者引导读者构建起坚实的理论基础,为后续的学习和实践打下良好的基础。...
在进行PHP面向对象实验的过程中,首先需要掌握的核心概念是面向对象设计思想,这是理解面向对象编程(OOP)的基础。面向对象思想主要涉及对象、类、继承、封装和多态等概念,是通过类来实现的。类可以被看作是创建...
总之,本教程将引导你逐步了解PHP面向对象编程的基础,同时涵盖与MySQL数据库的交互,为你的Web开发之旅打下坚实的基础。阅读《php面向对象初步入门教程pdf版》将帮助你快速掌握这些关键概念,并在实践中应用它们。
总的来说,《深入PHP:面向对象、模式与实践》第三版是一本全面而深入的教程,适合有一定PHP基础并希望深入学习面向对象编程和设计模式的开发者。通过阅读这本书,不仅可以掌握理论知识,还可以通过提供的完整源码...
面向对象编程(Object-Oriented Programming,简称OOP)是PHP中的一个重要概念,它使得代码更加结构化、可维护和可扩展。在这个“php简单面向对象的网站例子”中,我们将探讨如何在PHP中实现面向对象的基本原理,...
- **概念解释**:详细解释了面向对象编程的核心概念,如类、对象、封装、继承、多态等。 - **类的设计**:介绍了如何设计类,包括属性和方法的定义、访问控制修饰符(public、private、protected)的使用等。 - **...
本文将基于"php面向对象(类)教程"这一主题,深入探讨PHP中的面向对象编程(Object-Oriented Programming, OOP)概念,帮助初学者理解和掌握这一核心技能。 面向对象编程是一种编程范式,它通过类和对象来组织代码...
在“PHP5_OO_刀客羽朋”的压缩包中,可能包含了关于如何使用PHP进行面向对象编程的示例代码、教程或者工具,帮助开发者更好地理解和实践这些概念。通过学习这些资源,开发者可以提升自己的PHP OOP能力,编写出更高效...
封装性是面向对象编程的关键特性之一,它确保了对象的内部状态不被外部直接访问和修改,只能通过对象提供的公共方法进行交互。这样不仅保护了对象的数据安全,还提供了清晰的接口供外部调用。 ### 继承性 继承性...
类是面向对象编程的基础,它定义了一组属性(数据成员)和方法(成员函数)。在这个图像计算器中,`Calculator`类可能有属性如`expression`(表达式)和`result`(结果),而方法如`calculate()`(计算)和`...
本书适合每位php程序员进阶参考,帮助他们掌握php面向对象设计和开发的精髓,跻身高端php程序员之列。 目录 第一部分 介绍 第1章 PHP:设计与管理 第二部分 对象 第2章 PHP与对象 第3章 对象基础...
首先,我们需要了解面向对象的基本概念。在PHP中,类是创建对象的模板,它定义了对象的属性(变量)和行为(方法)。对象则是类的实例,它们具有类所定义的属性和行为。面向对象编程的三大特性包括封装、继承和多态...
首先,我们来了解PHP5中面向对象的基础概念: 1. 类(Class):类是创建对象的模板,定义了对象的状态(属性,也称为成员变量或字段)和行为(方法,即函数)。在PHP5中,可以使用`class`关键字来定义一个类。 ```...
类是面向对象编程的基础,可以理解为一个模板或者蓝图,定义了具有相同属性和行为的一组对象。在PHP5中,我们使用`class`关键字来创建类。例如: ```php class Car { public $color; function drive() { echo ...
总结来说,《深入PHP:面向对象、模式与实践》是一本全面而深入的PHP学习资料,适合有一定基础的PHP开发者提升自己的技能,也适合想要深入理解面向对象编程和设计模式的程序员。配合高清PDF和源码,读者可以在阅读的...