PHP网站制作之第十一节--重载 -- Classes and Object...
学习了六个多月PHP了,还是个新手,在这里受到了很多人的帮助,谢谢你们!object|php5 | = 本文为Haohappy读<<Core PHP Programming>>| = 中Classes and Objects一章的笔记
| = 翻译为主+团体心得
| = 为防止能够产生的不用要的费事请勿转载,感谢
| = 接待品评斧正,但愿和一切PHP喜好者配合前进!
+-------------------------------------------------------------------------------+
*/
第十一节--重载
PHP4中已有了重载的语法来创立关于内部对象模子的映照,就像Java和COM那样. PHP5带来了壮大的面向对象重载,答应法式员创立自界说的行动来会见属性和挪用办法.
重载可以经由过程__get, __set, and __call几个特别办法来停止. 当Zend引擎试图会见一个成员并没有找到时,PHP将会挪用这些办法.
在例6.14中,__get和__set取代一切对属性变量数组的会见. 假如需要,你可以完成任何类型你想要的过滤. 例如,剧本可以制止设置属性值, 在入手下手时用必定的前缀或包括必定类型的值.
__call办法申明了你若何挪用未经界说的办法. 你挪用不决义办法时,办法名和办法吸收的参数将会传给__call办法, PHP传递__call的值前往给不决义的办法.
Listing 6.14 User-level overloading
<?php
class Overloader
{
private $properties = array();
function __get($property_name)
{
if(isset($this->properties[$property_name]))
{
return($this->properties[$property_name]);
}
else
{
return(NULL);
}
}
function __set($property_name, $value)
{
$this->properties[$property_name] = $value;
}
function __call($function_name, $args)
{
print("Invoking $function_name()<br>n");
print("Arguments: ");
print_r($args);
return(TRUE);
}
}
$o = new Overloader();
//invoke __set() 给一个不存在的属性变量赋值,激活__set()
$o->dynaProp = "Dynamic Content";
//invoke __get() 激活__get()
print($o->dynaProp . "<br>n");
//invoke __call() 激活__call()
$o->dynaMethod("Leon", "Zeev");
?>
也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧! 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 基础有没有对学习php没有太大区别,关键是兴趣。 Ps:以上纯属原创,如有雷同,纯属巧合 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 Ps:以上纯属原创,如有雷同,纯属巧合 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 Ps:以上纯属原创,如有雷同,纯属巧合 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
页:
[1]