蒙在股里 发表于 2015-2-3 23:34:16

PHP教程之PHP设计形式之迭代器形式

完成一个功能齐全的动态站点   迭代器:迭代器设计形式可匡助机关特定对象, 那些对象可以供应单一尺度接口轮回或迭代任何类型的可计数数据。
处置需求遍历的可计数数据时, 最好的处理举措是创立一个基于迭代器设计形式的对象。
<?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

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

若天明 发表于 2015-2-14 23:49:05

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

爱飞 发表于 2015-2-25 19:51:47

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

活着的死人 发表于 2015-3-8 02:02:34

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

莫相离 发表于 2015-3-8 12:01:08

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

柔情似水 发表于 2015-3-15 22:27:22

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

精灵巫婆 发表于 2015-3-17 18:08:16

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

分手快乐 发表于 2015-3-20 15:47:25

实践是检验自己会不会的真理。

蒙在股里 发表于 2015-4-10 13:17:27

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

深爱那片海 发表于 2015-4-14 11:26:40

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

飘灵儿 发表于 2015-4-21 22:13:06

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

小妖女 发表于 2015-4-22 05:00:57

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

愤怒的大鸟 发表于 2015-4-22 10:15:59

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

海妖 发表于 2015-4-26 06:10:55

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

简单生活 发表于 2015-5-10 01:27:52

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

仓酷云 发表于 2015-7-1 22:23:29

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

只想知道 发表于 2015-7-7 18:56:12

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
页: [1] 2
查看完整版本: PHP教程之PHP设计形式之迭代器形式