php学习笔记总结.docx

上传人:0****4 文档编号:14352857 上传时间:2023-06-22 格式:DOCX 页数:9 大小:22.41KB
下载 相关 举报
php学习笔记总结.docx_第1页
第1页 / 共9页
php学习笔记总结.docx_第2页
第2页 / 共9页
php学习笔记总结.docx_第3页
第3页 / 共9页
php学习笔记总结.docx_第4页
第4页 / 共9页
php学习笔记总结.docx_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

php学习笔记总结.docx

《php学习笔记总结.docx》由会员分享,可在线阅读,更多相关《php学习笔记总结.docx(9页珍藏版)》请在冰点文库上搜索。

php学习笔记总结.docx

php学习笔记总结

调试/*………*///…….#..........

  插入时考虑清楚字段类型避免插入后出现缺值,乱码

  @屏蔽错误ordie条件显示

  以前学习php类的总结:

  1.php中不能重载,但是能用子类覆盖父类的方法名称来实现新的重载

  1.1在子类中调用父类的覆盖部分可以使用父类名称:

:

方法名称();

  2.final只能定义类和方法,不能使用final定义成员属性,因为final是常量的意思,在php里定义常量使用的是define函数

  2.1final关键字标记的类不能被继承

  2.2final关键字标记的方法不能被子类重写

  3.const是一个定义常量的关键字,在php中定义常量使用的是define()函数,但是在类里定义常量使用的是“const”这个关键字

  3.1在程序中不能修改它的值。

  3.2访问const修饰的成员属性要使用类名,在本类的方法里使用“self”关键字,但不使用"$"符号,也不能使用对象来访问。

  4.static关键字可以描述类中的成员属性和成员方法

  4.1static的成员属于类,而不属于任何对象,

  4.2static的成员是在类第一次被加载的时候分配的空间,其他类无法访问的,只对类的实例共享,能一定程度对类该成员形成保护

  4.3静态成员放到了“初始化静态段”,在类第一次加载的时候放入的,可以让堆内存里的每个对象共享。

所以在静态方法里,可以使用这个方法所在的类的“类名”,也可以使用“self”来访问其他静态成员。

“self”代表这个静态方法所在的类。

  4.3.1在类里的静态方法是不能访问类的非静态成员的。

  4.3.2在类的非静态方法里可以访问静态成员:

”self:

成员属性“;

  4.4类的静态变量,非常类似全局变量,能够被所有类的实例共享,类的静态方法也是一样,类似于全局函数。

  4.5在类内函数访问静态变量时前面加self:

:

静态函数

  4.6静态变量可以在类外直接访问,访问方法是类名:

静态变量

  4.7静态函数可以在类外直接访问,访问方式是类名:

静态函数

  4.8在类内静态函数访问另一个静态函数时使用类名:

静态函数名

  4.8.1静态函数在类内访问静态变量时,访问方式是类名:

静态变量

  4.8.2静态函数在类内访问静态变量时,访问方式除了是类名:

静态变量外,还可以使用self:

:

静态变量

  4.9在类内静态函数访问另一个静态函数时除了使用类名:

静态函数名外,还可以使用self:

:

静态函数名,也可以直接调用静态函数

  4.10静态函数内不能访问非静态变量

  4.11在类内静态函数不能使用$this->非静态函数名访问非静态函数,可以使用self:

:

非静态函数名

  4.12

  5.类里的”$this“,在php里面提供了一个本对象的引用$this,每个对象里面都有一个对象的引用$this来代表这个对象,完成对象内部成员的调用。

  5.1$this就是对象内部代表这个对象的引用。

  6.类里"self",self和$this相似,只不过self是代表这个静态方法所在的类,所以在静态方法里,可以使用这个方法所在的类的”类名“,也可以使用"self"来访问其他的静态成员,通常使用后者”self:

:

成员属性“。

  7.类里”__“开头的函数名

  7.1类里”__“开头的函数名都是在某一时刻不同情况下自动调用执行的方法。

  7.2__toString()方法也是自动被调用,是直接输出对象引用时自动调用的。

比如"$p=newPerson()",直接用echo输出$p会产生错误,如果在类里定义了__toString()方法,再用echo直接输出对象引用的时候就不会产生错误了

  8.对象串行化

  8.1__sleep()方法,在对象串行化的时候,会调用一个__sleep()方法来完成一些睡前的事情,__sleep()函数不接受任何参数,但返回一个数组,其中包含需要串行化的属性。

未被包含的属性降在串行化时被忽略,如果没有__sleep()方法,php将保存所以属性.

  8.2__wakeup()方法,在重新醒来时,即由二进制串重新组成一个对象的时候,则会自动调用__wakeup(),做一些对象醒来就要做的动作。

  8.3有时你可能需要一个对象在反串行化后立即执行.为了这样的目的,PHP会自动寻找__sleep和__wakeup方法.

  9.protected成员能被同个类中的所有方法和继承出的类的中所有方法访问到,不能被父类的实例直接访问。

protectedandpublic可以动态绑定

  10.private大部分private属性仍然可以被外部代码共享.解决方法是用一对public方法,一个是get(获取属性的值),另一个是set(设置属性的值).

  10.1private不可以动态绑定。

Private成员只存在于它们所在的类内部.不像public和protected成员那样,PHP模拟静态绑定.

  10.2什么时候用到private?

private成员只有当你不想让子类继承改变或特殊化父类的行为时才用到,这种情况比你想像的要少,通常来说,一个好的对象分层结构应当允许绝大多数功能被子类特殊化,改进,或改变—这是面向对象编程的基础之一。

一定的情况下需要private方法或变量,例如当你确信你不想允许子类改变父类中的某个特定的部份。

  11.抽象类:

抽象方法是就像子类中一般的方法的占位符(占个地方但不起作用),它与一般方法不同—没有任何代码.如果类中存在一个或更多抽象方法,那么这个类就成了抽象类.你不能实例化抽象类.你必须继承它们,然后实例化子类.你也可以把抽象类看成是子类的一个模板.

  如果你覆写所有的抽象方法,子类就变成一个普通的类.如果没有覆写所有方法,子类仍是抽象的.如果一个类中中包含有抽象方法(哪怕只有一个),你必须声明这个类是抽象的,在class关键字前加上abstract.声明抽象方法的语法与声明一般方法不同.抽象方法的没有像一般方法那样包含在大括号{}中的主体部份,并用分号;来结束.

  12.接口:

如果你建立了一个只有抽象方法的类,你就定义了一个接口(interface).为了说明这种情况,PHP中有interface和implements关键字.你可以用interface来代替抽象类,用implements来代替extends来说明你的类定义或使用一个接口.例如,你可以写一个myClassimplementsmyIterface.这两种方法可以依个人偏爱来选择.

  12.1如果接口中出现非抽象方法.会报错

  12.2接口中的方法默认是public型的.其它类型的修饰符,不能修饰接口中的抽象方法.

  12.3即使接口中所有的方法都是抽象方法,也不能使用abstract修饰.也不能用final

  12.4即使接口中所有的方法都是抽象方法,在接口中,可以声明静态方法.

  12.5在接口中可以有常量,e.g.:

  

  13.Namespace关键字给一块代码命名.在这个代码块外部,脚本必须用操作符:

:

加上命名空间的名称来引用这个代码块.引用静态的类成员也是用相同的方法.在命名空间内代码不需要声明命名空间,它本身就是默认的.这种方法比添加前缀的方法好.你的代码可由此变得更加紧凑和可读.

  你可能想知道是否可以建立分层的(嵌套的)命名空间.答案是不可以.但你可以在命名空间名称后加上冒号,你可以再次调用在名称中不包含冒号的变量,函数和类.命名空间允许存在冒号,只要不是第一个字符和最后一个字符或接着另一个冒号.命名空间的名称中的冒号对于PHP来说没有任何意义,但如果你用他们来区分逻辑上的区块,他们可以很好地说明你的代码中的父子(parent-child)关系.

  14.__toString()打印对象会调用它的__toString方法.

  15.不能实例化的类

  

  15.1

  //static的方法留给外部访问.

  

  15.2

  //不能用new实例化的类.

  //static的方法留给外部访问.

  //在方法内部返回实例.

  时,你的判断是否提交应是if($_POST[submit]){...};当你的是时,你的判断是否提交应是if($_POST

  [othername]){...}

  6.检查你的$_POST是否大写,当你写成$_post是不行的,因为$_GET,$_POST等,都是PHP系统环境的硬性用

  法

  7.用echo输出你的sql检查传值情况

  8.检查你的短标签是否打开

  9.注意你的method是get还是post

  10.检查你的表单相关单词或引号是否书写正确.很多莫名其妙的问题,多是细节问题.要小心查对才能看

  出来.

  ----------

  sql语句中表名和字段名在windows的情况下是可以不加小斜点(键盘左上角1键前的那个点键)的,但听说

  在linux中不加会引出些问题,兼容的写法是有小斜点.

  如:

windows下:

  $sql="select*fromtable"

  和

  $sql="select*from`table`"

  是效果一样的

  再次重点提示是:

  `(反斜点,在1键前)号和'(引号)使用位置,正确的方法是:

`应该放在表和字段边,而'是放在字符串型(或

  者说是非数字型)的值边

  ----------

  ==========

  php100第十三讲的page.PHP中的翻页显示信息有问题的解决方法:

  因为页面没有取值到URL值的page,所以在函数内的page会一直是1,所以会一直是第1页的数据

  解决方法,就是在调用函数前把page取得就好了!

函数里会把取到的page值作为全局变量传入函数使用的

  了!

  include("conn.php");

  $nump=mysql_query("SELECT*FROM`test`");

  $total=mysql_num_rows($nump);

  //调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所

  以省略掉)。

  $page=$_GET

第9页共9页

免责声明:

图文来源于网络搜集,版权归原作者所以

若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2