仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1453|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之开辟大型PHP项目标办法(五)

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-4 00:03:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。   PHP的面向对象编程:开辟大型PHP项目标办法(五)

  利用类停止数据存储
    关于PHP和OOP一件十分好的工作就是,你可以很轻易地界说一个类来操作某件工作,而且不管什么时候你想
  用的时分都可以挪用响应的类。假定你有一个HTML表单,用户可以经由过程选择产物ID号来选择一个产物。在数
  据库中有产物的信息,你想把产物显示出来,显示它的价钱等等。你具有分歧类型的产物,而且统一个举措
  能够对分歧的产物具有分歧的意思。例如,显示一个声响能够意味着播放它,然而关于其它品种的产物能够
  意味着显示一个存在数据库中的图片。你可使用OOP或PHP来削减编码并进步质量:
   
    界说一个产物的类,界说它应当有的办法(例如:显示),然后界说对每品种型的产物的类,从产物
  类派后出来(SoundItem类,ViewableItem类,等等),掩盖在产物类中的办法,使它们按你的设法举措。
   
    依据数据库中每种产物的类型(type)字段给类定名,一个典范的产物表能够有(id, type, price,
  description, 等等字段)...然后在处置剧本中,你可以从数据库中掏出type值,然后实例化一个名为type
  的对象:
   
  --------------------------------------------------------------------------------
  <?php
   
  $obj=new $type();
  $obj->action();
   
  ?>--------------------------------------------------------------------------------
    这是PHP的一个十分好的特征,你可以不必思索对象的类型,挪用$obj的显示办法或其它的办法。利用
  这个手艺,你不需求修正剧本去增添一个新类型的对象,只是增添一个处置它的类。
   
    这个功效很壮大,只需界说办法,而不去思索一切对象的类型,在分歧的类中按分歧的办法完成它们,然后在主剧本中对恣意对象利用它们,没有if...else,也不需求两个法式员,只要乐意。
   
    如今你赞同编程是轻易的,保护是廉价的,可重用是真的吗?
   
    假如你办理一组法式员,分派任务就是很复杂的了,每一个人能够担任一个类型的对象和处置它的类。
   
    可以经由过程这个手艺完成国际化,依据用户所选的言语字段使用响应的类就能够了,等等。
   
   
  拷贝和克隆
    当你创立一个$obj的对象时,你可以经由过程$obj2=$obj来拷贝对象,新的对象是$obj的一个拷贝(不是一
  个援用),所以它具有$obj在事先的形态。有时分,你不想如许,你只是想生成一个象obj类一样的一个新
  的对象,可以经由过程利用new语句来挪用类的机关函数。在PHP中也能够经由过程序列化,和一个基类来完成,但所
  有的其它类都要从基类派生出来。
   
   
   
  进入风险区域
    当你序列化一个对象,你会失掉某种格局的字符串,假如你感乐趣,你可以调究它,个中,字符串中有
  类的名字(太好了!),你可以把它掏出来,象:
   
  --------------------------------------------------------------------------------
  <?php
   
  $herring=serialize($obj);
  $vec=explode(':',$herring);
  $nam=str_replace("\"",'',$vec[2]);
   
  ?>--------------------------------------------------------------------------------
    所以假定你创立了一个"Universe"的类,而且强迫一切的类都必需从universe扩大,你可以在universe
  中界说一个clone的办法,以下:
  --------------------------------------------------------------------------------
  <?php
   
  class Universe {
  function clone() {
  $herring=serialize($this);
  $vec=explode(':',$herring);
  $nam=str_replace("\"",'',$vec[2]);
  $ret=new $nam;
  return $ret;
  }
  }
   
  //然后
  $obj=new Something();
   
  //从Universe扩大
  $other=$obj->clone();
   
  ?>--------------------------------------------------------------------------------
    你所失掉的是一个新的Something类的对象,它同利用new办法,挪用机关函数创立出的对象一样。我不
  晓得这个对你是不是有效,然而Universe类可以晓得派生类的名字是一个好的经历。想象是独一的限制。
   
    注重:我用的是PHP4,我写的有些器材在PHP3下能够不克不及任务
我是根据自己的成长历程来写的,如有不对的还请指正。
爱飞 该用户已被删除
19#
发表于 2015-4-7 07:51:39 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
愤怒的大鸟 该用户已被删除
18#
发表于 2015-4-4 08:02:32 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
17#
发表于 2015-4-4 01:54:38 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
飘灵儿 该用户已被删除
16#
发表于 2015-4-1 12:10:11 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
飘飘悠悠 该用户已被删除
15#
发表于 2015-3-31 05:27:54 | 只看该作者
实践是检验自己会不会的真理。
兰色精灵 该用户已被删除
14#
发表于 2015-3-29 12:54:18 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
柔情似水 该用户已被删除
13#
发表于 2015-3-24 22:42:59 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
分手快乐 该用户已被删除
12#
发表于 2015-3-24 20:56:56 | 只看该作者
实践是检验自己会不会的真理。
第二个灵魂 该用户已被删除
11#
发表于 2015-3-24 04:49:45 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
深爱那片海 该用户已被删除
10#
 楼主| 发表于 2015-3-24 01:40:57 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
小魔女 该用户已被删除
9#
发表于 2015-3-10 13:01:58 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-7 09:42:37 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-4 20:52:50 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
若相依 该用户已被删除
6#
发表于 2015-3-3 16:20:30 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
变相怪杰 该用户已被删除
5#
发表于 2015-2-24 12:19:13 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
老尸 该用户已被删除
地板
发表于 2015-2-10 07:45:50 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
海妖 该用户已被删除
板凳
发表于 2015-2-10 05:15:55 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
莫相离 该用户已被删除
沙发
发表于 2015-2-9 20:01:46 | 只看该作者
实践是检验自己会不会的真理。
山那边是海 该用户已被删除
楼主
发表于 2015-2-4 08:21:38 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 09:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表