PHP5新特性: 更加面向对象化的PHP
PHP
处理对象部分的内核完全重新开
发过,提供更多功能的同时也提高了性能。在以前版本的
php
中,处理对象和处理基本类型
(数字,字符串)的方式是一样的。这种方式的缺陷是:当将对象赋值给一个变量时,或者通过参数传递对象时,对象将被完全拷贝一份。在新的版本里,上述操作
将传递引用(可以把引用理解成对象的标识符),而非值。
很多
PHP
程序员可能甚至没有察觉到老的
对象处理方式。事实上,大多数的
php
应用都可以很好地运行。或者仅仅需要很少的改动。
私有和受保护成员
PHP5
引入了私有和受保护成员变量的
概念。我们可以用它来定义类成员的可见性。
例子
受保护成员可以被子类访问,
而私有成员只能被类本身访
问。
<?php
class
MyClass
{
private $Hello
=
"Hello, World!\n"
;
protected $Bar
=
"Hello, Foo!\n"
;
protected $Foo
=
"Hello, Bar!\n"
;
function
printHello
() {
print
"MyClass::printHello()
"
.
$this
->
Hello
;
print
"MyClass::printHello()
"
.
$this
->
Bar
;
print
"MyClass::printHello()
"
.
$this
->
Foo
;
}
}
class
MyClass2
extends
MyClass
{
protected $Foo
;
function
printHello
() {
MyClass
::
printHello
();
/* Should print */
print
"MyClass2::printHello() "
.
$this
->
Hello
;
/*
Shouldn't print out anything */
print
"MyClass2::printHello() "
.
$this
->
Bar
;
/*
Shouldn't print (not declared)*/
print
"MyClass2::printHello() "
.
$this
->
Foo
;
/*
Should print */
}
}
$obj
= new
MyClass
()
相关文档:
呵呵,翻译了篇东西,N长时间没用英语了,出了丑大家可一定要指出来啊。翻译自:Nick Halstead's Blog
A friend recently got some pre-interview questions from YAHOO for a PHP
job. Following up my previous post about programmer questions I
thought I would post them to give people examples of what a ......
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提
交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开
(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
【2 ......
cache 使用:
cache配置:
$smarty->cache_dir = "/caches/"; //缓存目录
$smarty->caching = true; //开启缓存,为flase的时侯缓存无效
$sma ......
<?php
@mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器
or die("数据库服务器连接失败");
$dbs = mysql_list_dbs(); //调用mysql_list_dbs函数
while ($array = mysql_fetch_row($dbs)) //循环输出所有的数据库名称
{
echo "$array[0]<BR>";
}
?>
& ......