PHP网站制作之PHP设计形式当中介者形式
给你的建议是,有些最常用的语句是需要记住的 比如if for while这些、其他的一般语句你只要知道有这个函数或者有这个功能就可以了,当你用的时候你可以凭借记忆搜索就可以了。 中介者: 中介者设计莫用于开辟一个对象,这个对象可以在相似对象互相之间不直接交互的情形下传送或调理对这些对象的纠合的修正处置具有相似属性而且属性需求坚持同步的非耦合对象时,最好的做法是利用基于中介者设计形式的对象。
<?php /** * 测试用例描写
:示例代码不但
答应
乐队进入和办理
他们的音乐合集,并且
还答应
乐队更新他们的设置装备摆设
文件,修正
乐队相干
信息和
更新其CD信息 * 如今
,艺术家可上传MP3纠合
并从Web站点撤下CD。 因而
, Web站点需求
坚持
绝对
应的CD和MP3彼此同步。 */ //CD类 class CD { public $band= ''; public $title = ''; protected $_mediator; public function __construct(MusicContainerMediator $mediator = NULL) { $this->_mediator = $mediator; } public function save() { //详细
完成
待定 var_dump($this); } public function changeBandName($bandname) { if ( ! is_null($this->_mediator)) { $this->_mediator->change($this, array("band" => $bandname)); } $this->band = $bandname; $this->save(); } } //MP3Archive类 class MP3Archive { protected $_mediator; public function __construct(MusicContainerMediator $mediator = NULL) { $this->_mediator = $mediator; } public function save() { //详细
完成
待定 var_dump($this); } public function changeBandName($bandname) { if ( ! is_null($this->_mediator)) { $this->_mediator->change($this, array("band" => $bandname)); } $this->band = $bandname; $this->save(); } } //中介者类 class MusicContainerMediator { protected $_containers = array(); public function __construct() { $this->_containers[] = "CD"; $this->_containers[] = "MP3Archive"; } public function change($originalObject, $newValue) { $title = $originalObject->title; $band= $originalObject->band; foreach ($this->_containers as $container) { if ( ! ($originalObject instanceof $container)) { $object = new $container; $object->title = $title; $object->band= $band; foreach ($newValue as $key => $val) { $object->$key = $val; } $object->save(); } } } } //测试实例 $titleFromDB = "Waste of a Rib"; $bandFromDB= "Never Again"; $mediator = new MusicContainerMediator(); $cd = new CD($mediator); $cd->title = $titleFromDB; $cd->band= $bandFromDB; $cd->changeBandName("Maybe Once More"); ?> 数据库剧本请参照:http://www.cxybl.com/html/wlbc/Php/2011_1126_9458.html
我先把我自己学习PHP的过程做一下概括: 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 基础有没有对学习php没有太大区别,关键是兴趣。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 基础有没有对学习php没有太大区别,关键是兴趣。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
页:
[1]