仓酷云

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

[学习教程] PHP教程之PHP设计形式之迭代器形式

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:34:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
完成一个功能齐全的动态站点   迭代器:迭代器设计形式可匡助机关特定对象, 那些对象可以供应单一尺度接口轮回或迭代任何类型的可计数数据。
处置需求遍历的可计数数据时, 最好的处理举措是创立一个基于迭代器设计形式的对象。
  1. <?php   class CD {              public $band  = "";       public $title = "";       public $trackList = array();              public function __construct($band, $title) {           $this->band  = $band;           $this->title = $title;       }              public function addTrack($track) {           $this->trackList[] = $track;       }   }      class CDSearchByBandIterator implements Iterator {              private $_CDs   = array();       private $_valid = FALSE;              public function __construct($bandName) {           $db = mysql_connect("localhost", "root", "root");           mysql_select_db("test");                      $sql  = "select CD.id, CD.band, CD.title, tracks.tracknum, tracks.title as tracktitle ";           $sql .= "from CD left join tracks on CD.id = tracks.cid ";           $sql .= "where band = '" . mysql_real_escape_string($bandName) . "' ";           $sql .= "order by tracks.tracknum";                      $results = mysql_query($sql);              $cdID = 0;           $cd   = NULL;                      while ($result = mysql_fetch_array($results)) {               if ($result["id"] !== $cdID) {                   if ( ! is_null($cd)) {                       $this->_CDs[] = $cd;                   }                                      $cdID = $result['id'];                   $cd   = new CD($result['band'], $result['title']);               }                              $cd->addTrack($result['tracktitle']);           }                      $this->_CDs[] = $cd;       }              public function next() {           $this->_valid = (next($this->_CDs) === FALSE) ? FALSE : TRUE;       }              public function rewind() {           $this->_valid = (reset($this->_CDs) === FALSE) ? FALSE : TRUE;       }              public function valid() {           return $this->_valid;       }              public function current() {           return current($this->_CDs);       }              public function key() {           return key($this->_CDs);       }   }      $queryItem = "Never Again";      $cds = new CDSearchByBandIterator($queryItem);      print "<h1>Found the Following CDs</h1>";   print "<table border='1'><tr><th>Band</th><th>Ttile</th><th>Num Tracks</th></tr>";   foreach ($cds as $cd) {       print "<tr><td>{$cd->band}</td><td>{$cd->title}</td><td>";       print count($cd->trackList). "</td></tr>";   }   print "</table>";   ?>
复制代码
数据库剧本请参照:http://www.cxybl.com/html/wlbc/Php/2011_1126_9458.html
在相册系统的开发上,因为采用的是团队分工合作方式,更让我明白了在一个团队之中,团队成员之间的交流沟通的重要性,如果没有很好的沟通交流,成员之间的任务没有分配好。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-2-4 02:28:18 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
谁可相欹 该用户已被删除
板凳
发表于 2015-2-6 16:21:55 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
再见西城 该用户已被删除
地板
发表于 2015-2-12 07:01:07 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
若天明 该用户已被删除
5#
发表于 2015-2-14 23:49:05 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
爱飞 该用户已被删除
6#
发表于 2015-2-25 19:51:47 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
活着的死人 该用户已被删除
7#
发表于 2015-3-8 02:02:34 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
莫相离 该用户已被删除
8#
发表于 2015-3-8 12:01:08 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
柔情似水 该用户已被删除
9#
发表于 2015-3-15 22:27:22 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
精灵巫婆 该用户已被删除
10#
发表于 2015-3-17 18:08:16 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
分手快乐 该用户已被删除
11#
发表于 2015-3-20 15:47:25 | 只看该作者
实践是检验自己会不会的真理。
蒙在股里 该用户已被删除
12#
 楼主| 发表于 2015-4-10 13:17:27 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
深爱那片海 该用户已被删除
13#
发表于 2015-4-14 11:26:40 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
飘灵儿 该用户已被删除
14#
发表于 2015-4-21 22:13:06 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
小妖女 该用户已被删除
15#
发表于 2015-4-22 05:00:57 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
愤怒的大鸟 该用户已被删除
16#
发表于 2015-4-22 10:15:59 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
海妖 该用户已被删除
17#
发表于 2015-4-26 06:10:55 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
简单生活 该用户已被删除
18#
发表于 2015-5-10 01:27:52 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
19#
发表于 2015-7-1 22:23:29 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
只想知道 该用户已被删除
20#
发表于 2015-7-7 18:56:12 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-13 15:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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