学习php要多长时间最快?

我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 - 文章 - 伯乐在线
& 我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言
【更新】:源码在这里:
看了不少朋友圈里,处理内容本来就是PHP的强项,Python唯一的好处估计也就天生的Linux自带,和Perl一样,这点觉得挺不够意思的Linux,还是Mac厚道,天生就自带了Python、Perl、PHP、Ruby,当然我也很讨厌讨论一门语言的好坏,每门语言存在就一定有它的道理,反正PHP是全世界最好用的语言,大家都懂的^_^
前几天比较火的是一个人,其中有300万用户是有QQ号、昵称、空间名称等信息的,也就是说,有详情也就300万,跑了两周,这没什么,为了证明PHP是全世界最好的语言,虽然大家都懂的^_^,我用PHP写了一个多进程爬虫程序,只用了一天时间,就抓了知乎100万用户,目前跑到第8圈(depth=8)互相有关联(关注了和关注者)的用户。
爬虫程序设计:
因为知乎需要登录才能获取到关注者页面,所以从chrome登录之后把cookie拷贝下来给curl程序模拟登录。
使用两大独立循环进程组(用户索引进程组、用户详情进程组),用的是php的pcntl扩展,封装了一个非常好用的类,使用起来和golang的携程也差不多了。
下面是用户详情的截图,用户索引代码类似
这里插个题外话,经过测试,我的8核的Macbook,跑16进程的速度最快,而16核的Linux服务器,居然是跑8进程最快,这点有点让我莫名其妙了,不过既然测试出最后进程数,就按照最后设置就好啦。
1、用户索引进程组先以一个用户为起点,抓取这个用户的关注了和关注者,然后合并入库,因为是多进程,所以当有两个进程在处理同一个用户入库的时候就会出现重复的用户,所以数据库用户名字段一定要建立唯一索引,当然也可以用redis这些第三方缓存来保证原子性,这个就见仁见智了。
通过步骤一之后,我们就得到下面的用户列表:
2、用户详情进程组按照时间正序,拿到最先入库的用户抓取详情,并且把更新时间更新为当前时间,这样就可以变成一个死循环,程序可以无休止的跑,不断的循环更新用户信息。
程序稳定运行到第二天,突然没有新数据了,检查了一下发现知乎改规则了,不知是为了防我,还是碰巧,反正给我返回的数据是这样的
第一感觉就是胡乱给我输出数据让我采集不到,换了IP、模拟伪装了些数据,都没用,突然感觉这个很熟悉,会不会是gzip?抱着怀疑的态度,试了试gzip,首先当然是告诉知乎不要给我gzip压缩过的数据
把 “Accept-Encoding: gzip,deflate\r\n”; 改成 “Accept-Encoding:deflate\r\n”; 去掉了 gzip,然并卵!
看来知乎是强制要给我gzip压缩数据了,既然如此,那我就解压呗,查了一下php解压gzip,发现就一个函数gzinflate,于是把获取到得内容加上:
$content = substr($content, 10);
$content = gzinflate($content));
这里我真想说,PHP真的是全世界最好的语言,就两个函数,就彻底解决了问题,程序又欢快的跑起来了。
在匹配内容的时候,知乎的细心也是给了我无数的帮助,例如我要分清用户性别:
哈哈开玩笑的拉,其实是样式里面有 icon-profile-female 和 icon-profile-male ^_^
我蛋疼的抓了它那么多用户,到底有什么用呢?
其实没什么用,我就是闲的蛋疼 ^_^
有了这些信息,其实就可以做一些别人开头闭口就乱吹一通的大数据分析拉
最常见的当然是:
1、性别分布
2、地域分布
3、职业分布
4、每个职业的男女比例
当然,按照关注人数、浏览人数、提问数、回答数等排序,看看人民都在关注什么,民生、社会、地理、政治,整个互联网都尽收眼底拉。。
也许,你还可以把头像拿来分析,用开源的验黄程序,把色情的筛选出来,然后去拯救东莞? ^_^
然后,你还可以看看那些大学出来的人,最后都干了什么。
有了这些数据,是不是可以打开脑洞 ^_^
下面是利用这些数据做出来的一些有趣的图表,实时图表数据可以去 http://www.epooll.com/zhihu/ 上看
关于作者:(window.slotbydup=window.slotbydup || []).push({
id: '2491531',
container: s,
size: '150,90',
display: 'inlay-fix'
怎么学习PHP比较快入门的?
怎么学习PHP比较快入门的?大家推荐、分享下自己的学习方法。
1.下载一个php5中文手册,快速把基础的知识和语法看一遍,有个印象。重要的自己写写。(环境搭建用phpnow,一键安装,然后安装一个dreamweaver,用来写代码。)
2.带着问题去学习,方便google.
php是为web开发服务的,那么就想想:
1.怎么显示数据。
2.怎么收集数据。
3.怎么上传、下载。
4.数据库(mysql)的链接、读、写、改、删。
5.html,css,js基础知识了解一下,毕竟只会php是不够的。
其他答案(共4个回答)
,再看教程,再实践
其实学习一门新语言并不是太难,重要的是你有没有准备好去学好它,时间的长短和个人的能力和决心有关。黑客界也流行一句话就是“没有入侵不了的计算机”,这句话大概的意思是说:如果你的技术比维护这台计算机的管理员更胜一筹,那么就能拿下这台计算机甚至能拿下这个管理员管理的所有计算机,如果技不如人,只能继续学习超过对方。我说这些话的意思就是让准备学习陌生语言朋友一定要下决心去学习,只要你下了决心去学了,就一定能学好,千万不要半途而废。(退一万步来说,即使是没学好,但你懂的必然比别人多)
了解什么是最简单:
1、网页的基本构成就是html代码,所以必须熟悉HTML/CSS/JS等基本元素
2、熟悉PHP语法,了解PHP和HTML的运行方式,学习将PHP与HTML结合完成简单页面
PHP手册是比较好的入门老师
影响学习进度和程序强大是否的几个可能因素:
一门语言的强大是否,应该看它的函数库和代码执行效率。
每门语言都是有自己强大的函数库,要学好它,就必须得花很多的时间去记忆,良好的记忆力能使学习达到事半功倍的效果。 网页教学网
2、数学和逻辑思维
这个当然不是绝对影响,因为看开发项目的复杂程度。
小的项目不需要太多的数学和逻辑思维能力,但如果是开发类似于财务或大量运算相关项目,这一点就是非常重要了。
3、有其它语言的基础
“一通百通”,这句话的道理也是不容置疑。都说有C语言基础的人,学习PHP比较容易,我没学过C语言,所以不知道这句话的效果
4、多看别人写的代码
学习别人的长处,补自己的不足,当然不完全为这个
我始终相信:一个有组织的团队写出来的程序不会比个人差
我PHP入门就是从看代码开始的,我喜欢看别人写的代码(入门是从disucz,PHPWind和国外的phpbb看起,还有就是目前最流行的开源BLOG程序),我尽可能的收集网络上的PHP开源程序,到目前为止,我收集并下载的PHP开源程序有2GB大小,包括BBS,BLOG,CMS等。我下载并不是为了收藏他们,是学习他们的编程方式和实现方法,如果自己想实现的功能不知道怎么去实现,我就会学习他们的实现方法,并不是抄袭代码,最终结果是想通过学习,将技术变成属于自己的
ASP我也是以同样的方式学习的(动易和讯的程序及其它ASP开源程序) 网页教学网
理论固然重要,但实践必不可少。你理论知识再好,如果不实践,就不能看到理论所产生的结果或效果,并不能使你的记忆深刻,所以不能纸上谈兵
广告不是有句话是这样说的么:“世界上最高的山是自己”,这句话相信朋友们都能理解
过自己这关,其它的都好办
网页教学网
7、找对自己有用的学习方式
这条可以参照4,我的入门是从看代码开始
可能有朋友会问:“一开始看那些强大的代码,你能看懂么?”
我的学习方式是从“使用”找“学函数”:PHP的函数太多,短时间不可能记住所有的函数,因为我相信,一个大的项目肯定会使用常见和必须的函数,找到这些函数,才会有重点的学习这些函数,难道你能说写BBS的函数会比写BLOG用的函数少么?难道会写BBS还不会写BLOG么?
找对学习方式是要经过多种学习方式的尝试,所以这个只有自己把握,毕竟每个人的学习方式不一样 Webjx.Com
8、尽可能的找视屏教程看
别人说十句,还不如一个操作看的明白,这个相信朋友们都有体会吧
9、从项目开始
一定要”逼”自己从写项目开始。
任何一个高手的“成长”都是要经历一个过程,这个过程是一步步走过来的,来之不易
很多朋友学习PHP的第一个作品几乎都是“留言簿”,因为是最简单的程序了
会写留言簿,也并不能完全代表你已经入门了,也并不代表就会了PHP,我自己开始想以一个“网络书签”作为自己的第一个作品,但写了基本功能后就没继续了,感觉没多大意思。现在写一个完全正确针对企业的CMS系统,包括针对企业的一些常用功能,我想以这个作为自己PHP入门的第一个作品 网页教学网
10、了解并学习和PHP有关的技术
真正的高手必须得学习和PHP关联的技术,要想学好PHP,就必须得学习数据库,PHP+MYSQL被认为是“黄金搭档”
所以你必须得接触MYSQL或你认为比较好的数据库,开始设计比较”合理”的数据库,这里的合理就比较广泛了,包括数据库优化和查询优化等等
最后想说的是:“不要依靠别人”没人愿意理会一个新手的提问,因为新手提问的在他们眼里太简单,不想去解释
女性朋友很流行一句话是“男人靠的住,母猪会上树” 引用这句话没别的意思,只是让朋友们知道这句话的意思
还想说的是:“珍惜别人回答的次数”人的忍耐都是有限度的,一定要珍惜这个限度,不要什么问题都去问,有些问题自己花点时间能找到答案的也去问,每问一次,别人的耐心就减去一次,等你真正需要帮助的时候,正好是别人不愿意回答你的时候,可以想像一下,你失去的太多了
网页教学网
建议的是:“有问题?baidu一下”相信朋友们都已经注意到了,你问的问题,在搜索引擎里都能找到相关的提问,并且有详细的解决方案,你可以使用搜索引擎来找到自己的答案,何必去问别人呢
目前最大的中文搜索引擎是
,全球的google,当然还有其它的搜索引擎,一个找不到,多试几个,除非你的问题是第一个提问的 ,那么你是幸运的,也可能是你“长相”问题,呵呵,说笑的,不要介意,不过这句话倒是挺流行
最后祝你能找到适合自己的学习方式,早日成功!!
PHP 是一种用来制作动态网页的服务器端脚本语言。你通过PHP和HTML创建页面。当访问者打开网页时,服务器端便会处理 PHP 指令,然后把其处理结果送到访问者...
有其他语言基础吗?如果没有的话那可就是和看天书差不多了。
不过我给你些必备的资料吧。
首先PHP中文手册一定是要的。
其次是w3school。那里讲得更加简单易...
PHP的老师告诉你要分析你所使用的技术其原理和背后运行的机制,这样可以提高你的技术判断力,提高你技术方案选择的正确性;
学习大学期间重要的知识, 操作系统原理,...
从默默自己向别人问怎么学PHP开始,到后来不少人又来问默默怎么学PHP,不管默默是新手,还是老鸟,似乎总是感觉摸不出一条清晰的脉络来,不过,默默既然学会了PHP...
不深入就不行,基本学学还可以,需要实习经验和开发经验。。。
3个月真的很短,特别在学校或培训学到的东西太少。
答: 为什么我家20m的宽带玩游戏延迟很高
答: 中国学生素质就是这么差下来的
答: Internet发展史 国际互联网是美国高科技发展的结果,同时也是美国政府出于军事目的不得已而为之的产物。为了分散因遭遇外国核武器打击本国军事指挥控制系统所带来...
餐饮业厨房产生的油烟,顾名思义,废气中主要污染物为油烟,一般采用静电除油。
液化气属较清洁能源,废气污染程度不高,主要含二氧化碳一氧化碳吧。
柴油属石油类,废气含二氧化硫和氮氧化物,二氧化硫碱液喷淋即可去除,氮氧化物主要以一氧化氮为主,要催化氧化成二氧化氮才能被碱吸收,造价成本非常高,一般的柴油发电机尾气难以治理,除非大型发电厂。
煤炭废气含二氧化硫多,一般常用的脱硫工艺即可。
规模以上工业企业是指全部国有企业(在工商局的登记注册类型为"110"的企业)和当年产品销售收入500万元以上(含)的非国有工业企业。
有可能搓纸轮需要清洗一下了,如果清洗了还是不行的话,那估计需要更换搓纸组件了
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415Linux系统技术交流QQ群(560843)验证问题答案:刘遄
PHP 7 比5.x 快上很多,即使只有单纯的版本升级就已经很有感,不过大家还是希望它变得越来越快,这时再做些小调整就会更有fu,Let's try it!
说到PHP 7,那一定跑不了LAMP 或是LEMP,请先准备好底层服务的安装。
以前我们要让PHP加快处理速度,通常会配合、、的任一个来使用;现在忘了它们吧,就从现在起开始改用OPcache来实作,它是PHP 7开发者之一的协力开发的PHP支援模组。 这次实作以LEMP架构为主,套件库是用的版本,别忘了要依各位实际的环境来修改路径及设定值。
安装OPcache套件。
sudo yum -y install php70-php-opcache
编辑主设定档。
sudo vi /etc/opt/remi/php70/php.ini
加上这些参数。
zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1opcache.file_cache=/ home/opcache opcache.huge_code_pages=1
启动Huge Pages,它是一种大型暂存分页机制,详细说明请参阅 - ,在我的机器上测试结果改到512就够了。
sudo sysctl -w vm.nr_hugepages=512
建立OPcache专用目录。
sudo mkdir /home/opcache sudo chown nginx:nginx /home/opcache
重新启动PHP-FPM,这边就会看到OPcache已经启动了。
sudo systemctl restart php70-php-fpm
另外,我们还可以加装,顾名思义它就是使用记忆体来当快取,加速系统的运作。
sudo yum -y install memcached
编辑主程式档。
sudo vi /etc/sysconfig/memcached
参数不多,请依需求修改。
PORT - 端口,别忘了开防火墙。
MAXCONN - 总连接数。
CACHESIZE - 内存使用量,单位是KB。
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="1024"
OPTIONS=""
启动memcached,并让它在开机后自动启动。
sudo systemctl restart memcached sudo systemctl enable memcached
开放防 火墙
sudo firewall-cmd --permanent --zone=public --add-port=11211/tcp
再安装memcached for PHP的支援模组。
sudo yum -y install php70-php-pecl-memcached
重新启动PHP-FPM。
sudo systemctl restart php70-php-fpm
最后看一下phpinfo(); 函数的显示结果,出现memcached 的段落就代表成功了。
这边直接引用对岸的网友的资料,在这篇文章里,他测试了Wordpress 4.1.1、Drupal 8、phpBB 3.1.3、MediaWiki 1.24.1、Opencart 2.0.2.0 、WardrobeCMS 1.2.0、Geeklog 2.1.0、Magento 1.9.1.1、Traq 3.5.2、Cachet、Moodle 2.9-dev、ZenCart 1.5.4等12种套件的比较结果。 以Wordpress 4.1.1为例,我们可以看到PHP 7比起5.3 ~ 5.6的读取速度(Read)及延迟时间(Latency)都有大幅改善。
原文地址:作者:IT 技术家
本文地址:编辑:岳国帅,审核员:逄增宝
为您推荐一些与本文相关的文章:
Linux系统镜像及所需软件工具包下载地址:
进阶课程目录
第24章 使用Xen与Kvm部署虚拟化服务环境。(即将公布)
Linux技术交流QQ群
向每个正在奋斗的Linuxer致敬.
Linux技术交流群A:560843
Linux技术交流群B:340829
Linux技术交流群C:463590
Linux技术交流群D:915246
Linux技术交流群E:1663106
Linux技术交流群F:1653851
Linux技术交流群G:2632018
Linux技术交流群H:2636170
Linux技术交流群I:2650582
Linux技术交流群J:3026356
Linux技术交流群K:2659793
Linux技术交流群L:2659106
全国Linux技术交流群(总):
7月0 篇文章8月0 篇文章9月0 篇文章10月0 篇文章11月0 篇文章12月0 篇文章
1月0 篇文章12月0 篇文章Sina Visitor System高效率php学习的方法,谨记!
在PHP中,单纯按照自己思路去解决问题往往会是一种错误的办法。这并不是因为你是一个糟糕的程序员,而是因为如果你想写出好的可维护性强的代码,有些标准技巧是你必须要使用的。就其本质而言,如果你掌握了以PHP语言“做事”的方式,那么在使用它时就会得心应手,因此值得你去投入精力去了解这些方式。下面让我们一起看一下你需要知道的10大技巧。
1、如何正确的创建一个网站的Index页面
创建每一个网站时,建立网站的index页面是首要做的事情之一。如果你是一个PHP新手,在编写index页面时典型的做法是只对index页面所需的内容进行编程,其它链接创建另一个页面。不过,如果想学习一种更高效的方式来实现PHP编程,可以采用“index.php?page=home”模式,许多网站都在采用这种模式。
2、使用Request Global Array抓取数据
实际上我们没有任何理由使用$_GET和$_POST数组来抓取数值。$_REQUEST这个全局数组能够让你获取一个get或form请求。因此,多数情况下解析数据的更高效代码大体如下:
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 0;
3、利用var_dump进行PHP代码调试
如果你在寻找php调试技术,我必须说var_dump应该是你要找的目标。在显示php信息方面这个命令可以满足你的所有需要。而调试代码的多数情况与得到PHP中的数值有关。
4、PHP处理代码逻辑,Smarty处理展现层
Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
5、的确需要使用全局数值时,创建一个Config文件
动辄创建全局数值是一种糟糕的做法,不过有时候实际情况的确又需要这么做。对于数据库表或数据库连接信息使用全局数值是一个不错的想法,但不要在你的PHP代码中频繁使用全局数值。另外,更好的一种做法是把你的全局变量存放在一个config.php文件中。
6、如果未定义,禁止访问!
如果你正确的创建了页面,那么任何其他人没有理由访问index.php或home.php之外的index.php页面。一旦index.php被访问后,你可以通过获得变量的方式来打开需要的页面。你的index页面应该包含类似的以下代码:
define('yourPage',1); 然后,其它页面应该包含:
if (!defined('yourPage')) die('Access Denied'); 这么做的目的是防止直接访问你的其它php页面。这样,任何试图不通过index.php访问其它网页的人,将得到“访问被拒绝”的消息。
7、创建一个数据库类
如果你正在进行数据库编程(在PHP中非常常见的任务),一个不错的想法是创建一个数据库类来处理任何数据库管理功能。示例代码如下:
public function dbExec($query) { $result = $this-&db-&exec($query); if (PEAR::isError($result)) errorRedirect($result-&getMessage(), true); else return $ }
这个函数仅接收一个查询语句并对其执行。它还处理可能出现的任何错误。你还可以在这儿包含审核代码,不过我更喜欢使用一个类似的审核函数:
// checks if arguments given are integer values not less than 0 - has multiple arguments function sanitizeInput() { $numargs = func_num_args(); $arg_list = func_get_args(); for ($i = 0; $i & $ $i++) { if (!is_numeric($arg_list[$i]) || $arg_list[$i] & 0) errorRedirect("Unexpected variable value", true); } }
8、一个php文件处理输入,一个class.php文件处理具体功能
不让代码变得混乱的一个重要方法是:获取用户输入后,将其重定向到其它函数来进行处理。原理非常简单,php文件获得我们需要的任何输入,然后将其执行重定向到类文件中的一个函数。举例来讲,假设有一个类似“index.php?page=profile&action=display”的URL。由profile.php来检索该网址并得到操作是“display”。然后使用一个简单的switch函数,我们来执行真正的显示函数:
require_once PROJECTROOT.'libs/messages.class.php'; $message = new Message(); switch ($action) { case 'display': $message-&display(); ...
如上所示,我使用了一个消息类,然后开始进行switch检查。$message只是被类中的调用函数使用的一个对象。
9、了解你的SQL语句,并总是对其审查(Sanitize)
正如我以前所提到的,任何php网站中最重要的部分有99%的可能是数据库。因此,你需要非常熟悉如何正确的使用sql。学会关联表和更多高级技术。下面我将展示一个使用MySQL的函数示例,并使用本文第7条函数进行审查。
private function getSentMessages($id) { $this-&util-&sanitizeInput($id); $pm_table = $GLOBALS['config']['privateMsg']; $users = $GLOBALS['config']['users']; $sql = "SELECT PM.*, USR.username as name_sender FROM $pm_table PM, $users USR WHERE id_sender = '$id' AND sender_purge = FALSE AND USR.id = PM.id_receiver AND is_read = TRUE ORDER BY date_sent DESC"; $result = $this-&dbQueryAll($sql); return $ }
首先,我们对用户输入进行检查(通过一个GET变量传递消息id),然后我们执行我们的SQL命令。注意这儿SQL的用法。你需要了解如何使用别名和关联表。
10、当你只需要一个对象时,使用单例模式
在PHP中相当常见的一种情形时,我们只需要创建一个对象一次,然后在我们的整个程序中使用它。一个很好的例子就是smarty变量,一旦被初始化后就可以在任何地方使用。这种情形的一个很好实现方案就是单例模式。示例代码如下:
function smartyObject() { if ($GLOBALS['config']['SmartyObj'] == 0) { $smarty = new SmartyGame(); $GLOBALS['config']['SmartyObj'] = $ } else $smarty = $GLOBALS['config']['SmartyObj']; return $ }
注意,我们拥有一个全局smarty变量(该示例中它在config.php中被初始化),如果它的值为0,我们将创建一个新smarty对象。否则,它意味着该对象已经被创建,我们只需要返回它。
更多精彩内容请关注 ---- 微信公众号“houdunit”
看完不要跑记得出来吐吐槽!╰( ̄▽ ̄)╮
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
后盾网是一家专业六年只做PHP培训的机构。学生平均就业薪资高达10700元。
后盾网PHP高薪精英班,毕业学员平均薪资10700元,包就业,就业率100%
今日搜狐热点

我要回帖

 

随机推荐