摘要:
续言 对于本次更新,我想说: 本框架由本人挑时间完善,而我还不是PHP大神级的人物,所以框架漏洞难免,求大神们指出。 本框架的知识点应用都会写在博客里,大家有什么异议的可以一起讨论,也希望看博客的也能学习到它们。 本次更新,更新了函数规范上的一些问题,如将函数尽量的独立化,每一个函数尽量只单独做好一 阅读全文
摘要:
前言 说到写PHP的MVC框架,大家想到的第一个词--“造轮子”,是的,一个还没有深厚功力的程序员,写出的PHP框架肯定不如那些出自大神们之手、经过时间和各种项目考验的框架。但我还是准备并且这么做了,主要是因为: 认为有关PHP的方方面面都了解了,但自己学习PHP的时间还短,基础并不扎实,很多常用函 阅读全文
摘要:
百度百科的堆排序竟然没有PHP版本的,作为世界上“最”好的语言,这太掉份了,于是我帮它补上。 阅读全文
摘要:
前些天准备写一个自己的博客CMS,考虑PHP框架的时候想到了据说非常强大的yii,接触yii时发现有2.0版本,果断尝最鲜的。这么一尝试感觉入了坑了,yii2.0是2014年12月发布的,估计国内用的人比较少,资料比较少,遇到问题百度yii2.0查出来好多1.0版本的答案,只好去google看英文站... 阅读全文
摘要:
在进行大型网站的web开发时,分布式这个词经常出现在我们面前。如:memcache、redis服务器等缓存服务器的负载均衡(分布式cache),MySQL的分布式集群(分布式DB),大量session的共享存储(分布式文件,或session服务器等),这些都会用到分布式的思想,究其根源,都要理解分布... 阅读全文
摘要:
linux的“自动化”linux系统的web网站在运营状态时,我们常需要对网站进行维护,例如查看资源剩余并做出响应、日志分割、数据整理,在特定状态执行特定任务等等,这些都会需要linux能实现自动执行某些任任务。本篇博文介绍如何进行常见的linux自动化任务。实现“自动化”有如下好处:节省人力,一个... 阅读全文
摘要:
传统数据库中,我们要操作数据库数据都要书写大量的sql语句,而且在进行无规则数据的存储时,传统关系型数据库建表时对不同字段的处理也显得有些乏力,mongo应运而生,而且ajax技术的广泛应用,json格式的广泛接受,也使得mongo更贴近开发人员。mongo简介及应用场景MongoDB是一个面向文档... 阅读全文
摘要:
memcache虽然好用,解决了数据库遇到高并发时的IO问题,但还有很多问题丞待解决:1、数据持久性问题,memcache用内存进行存储,一旦memcache服务器宕机,那么所存储的数据全部丢失。2、memcache存储的数据类型单一,只支持key-value型的数据,要存储复杂类型的数据,必然需要... 阅读全文
摘要:
在一个高并发的web应用中,数据库存取瓶颈一直是个大问题,一旦达到某个极限,数据库很容易崩溃,但是如果我们把常用的数据放到内存中,在需要的时候从内存中取,不光读取速度快,而且节约数据库IO。memcache简介Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的h... 阅读全文
摘要:
前些天看到一篇文章说到PHP的瓶颈很多情况下不在PHP自身,而在于数据库。我们都知道,PHP开发中,数据的增删改查是核心。为了提升PHP的运行效率,程序员不光需要写出逻辑清晰,效率很高的代码,还要能对query语句进行优化。虽然我们对数据库的读取写入速度上却是无能为力,但在一些数据库类扩展像memc... 阅读全文
摘要:
由于linux系统的稳定性,大部分的PHP服务器都被部署在linux上,而且像redis等扩展在linux能得到更好的支持,所以对于PHP程序员来说,使用linux的功底也相当重要,接下来总结一下我从一开始在linux下安装配置linux的心得。linux系统安装首先是选择linux操作系统,我使用... 阅读全文
摘要:
最近有朋友找我用JS帮忙仿做一个别踩白块的小游戏程序,但他给的源代码较麻烦,而且没有注释,理解起来很无力,我就以自己的想法自己做了这个小游戏,主要是应用JS对DOM和数组的操作。程序思路:如图:将游戏区域的CSS设置为相对定位、溢出隐藏;两块“游戏板”上分别排布着24块方格,黑色每行随机产生一个,“... 阅读全文
摘要:
众所周知,HTTP协议是无状态的,所以一次的请求都是一个单独的事件,和前后都没有联系。所以我们在解决网页实时聊天时就遇到一个问题,如何保证与服务器的长时间联系,从而源源不段地获取信息。 一直以来的方式无非有这么几种: 1、长连接,即服务器端不断开联系,PHP服务器端用ob系列函数来不停的读取输出,但 阅读全文
摘要:
昨天想批处理以前下载的一堆文件,把文件里的关键内容用正则匹配出来,集中处理。在操作文件时遇到一个问题,就是windows操作系统中的编码问题。我们都知道windows中(当然是中文版),文件名和文件内容等编码都是gbk,而我们在开发过程中,IDE里的编码则是UTF-8,(这里不讨论为什么等等问题,只... 阅读全文
摘要:
今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同时也希望有大神和细心的学习者找到我理解中出现的问题。什么是捕获组我们先看... 阅读全文
摘要:
今天看到一道面试题,要写出一个可以创建多级目录的函数:我的第一个感觉就是用递归创建,具体思路如下:function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创... 阅读全文
摘要:
今天来介绍PHP模拟发送POST请求的重型武器——cURL函数库的使用和其多线程的优化方法。说起cURL函数,可谓是老生常谈,但网上许多资料都在关键部分语焉不详,列出一大堆手册上的东西,搞得我入门时也万分痛苦,我翻了些资料,结合自己的笔记,总结了这篇博文,希望能给初次接触cURL的开发者提供一些帮助... 阅读全文
摘要:
使用了笨重fsockopen()方法后,我们开始在PHP函数库里寻找更简单的方式来进行POST请求,这时,我们发现了PHP的文件函数也具有与远程URL交互的功能。 最简单的是fopen()和fread()函数。 然后是file_get_contents()函数: 但是,我们会发现,通这两种方式我们只 阅读全文
摘要:
了解完了HTTP头信息和URL信息的具体内容,我们开始尝试自己动手写一段头信息发送到服务器。Windows内置命令Telnet可以帮助我们发送简单的HTTP请求。并且TELNET是一个特别灵活的工具,我们还可以用它进行FTP/SMTP/POP3/TCP等方式的简单请求。通过开始菜单--运行--CMD... 阅读全文
摘要:
明白了HTTP请求的头信息后,我们还需要对请求地址有所了解。再者,HTTPGET请求是靠URL实现的,所以了解URL的构造,处理URL的重要性不言而喻。在PHP中我们用parse_url()函数来处理URL信息。其函数原型如下:arrayparse_url(string$url[,URL_COSTA... 阅读全文