PHP常用的设计模式

1.单例模式含义:单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。要点:1. 一是某个类只能有一个实例;2. 二是它必须自行创建这个实例;3. 三是它必须自行向整个系统提供这个实例。场景:1. php的应用主要在于数据库应用, 一个应用中会存在大量的数据库操作, 在使用面向对象的方式开发时, 如果使用单例模式, 则可以避免大量的new 操作消耗的资源,还可以减少数据库连接这样就不容易出现 too many connections情况。2. 如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现. 这个可以参看zend Framework的FrontController部分。3. 在一次页面请求中, 便于进行调试, 因为所有的代码(例如数据库操作类db)都集中在一个类中, 我们可以在类中设置钩子, 输出日志,从而避免到处var_dump, echo。示例:class man {     //保存例实例在此属性中     private static $_instance;     //构造函数声明为private,防止直接创建对象     private function __construct()     {         echo '我被实例化了!';     }     //单例方法     public static function get_instance()     {         var_dump(isset(self:...
查看全文 posted @ 2017-02-08 09:22:59

winform中RichTextBox控件设置关键字颜色

本文是针对RichTextBox控件进行了改进,改进后的RichTextBox控件将支持自定义关键字颜色, 就跟编辑器一样,是不是感觉很美好?在窗体Load事件添加如下测试代码  private void MainForm_Load(object sender, EventArgs e)         {             // Add the keywords to the list.             m_syntaxRichTextBox.Settings.Keywords.Add("function");             m_syntaxRichTextBox.Settings.Keywords.Add("if");             m_syntaxRichTextBox.Settings.Keywords.Add("then");             m_syntaxRichTextBox.Settings.Keywords.Add("else");             m_syntaxRichTextBox.Settings....
查看全文 posted @ 2016-09-22 13:51:42

关于百度贴吧登录提示(没有登录权限)的临时解决方案

近日, 有玩家反馈百度贴吧三国全明星游戏主页不能登录, 提示"没有登录权限", 如下图:有人说是辅助问题,其实不是. 是三国全明星首页不能登录, 但其他页面就可以登录.三国全明星首页的网页地址是: http://wanba.baidu.com/sgqmx/detail/ , 有兴趣的玩家可以用浏览器打开这个网页, 试试看是不是也提示"没有登录权限"(截至时间2016-07-05 09:19:26) , 这个问题我也反馈给百度贴吧项目组了.在没有更好的办法之前, 先告诉大家一个临时解决的方案.1. 打开辅助进入三国全明星选区页面时,这里不要点登录按钮.2.打开一个Internet Explorer浏览器,如下图:3.在Internet Explorer浏览器打开百度游戏中心首页, 网址是:http://tieba.baidu.com/game/index , 在这里有一个登录按钮,在这里可以登录,如下图:4.在上一步登录成功之后, 再次回到辅助页面, 点击辅助上面的刷新按钮,看看是不是回到了登录状态.5.如果要登录多个号, 就重复上面步骤即可. 是不是很简单的就解决了呢
查看全文 posted @ 2016-07-05 09:30:27

欢乐颂人物特点

我总结下大家的吐槽颂哈:邱莹莹的蠢,关雎尔的木,奇点的猥琐吃饺子不蘸醋。曲筱绡讨厌,赵医生随便,曲哥卡里两千块还敢出来现。王柏川心机,包总乱穿衣,安迪说别碰我别挡我装逼。樊胜美爱钱,林师兄没颜,老谭把持上海经济一百年!最后一句是亮点有没有
查看全文 posted @ 2016-05-09 16:18:01

关于百度贴吧平台在选择角色页面时死活点不了的解决方案

关于百度贴吧平台在选择角色页面时死活点不了的解决方案.1. 打开Internet Explorer(也就是IE)浏览器(记住,必须是IE浏览器),如下图:2. 点击浏览器的"Internet选项"3. 选项"隐私"选项卡,再点击"站点",如下图:4. 在网址地址框框中输入三国全明星游戏官网域名xba.com.cn,再点击允许,如下图:5. 最后操作成功的界面大概是这样,点击确定保存即可,如下图:6. 重启辅助,就可以正常使用啦....
查看全文 posted @ 2016-05-05 18:03:30

谈谈document.ready和window.onload的区别

在jQuery里面,我们可以看到两种写法:$(function(){}) 和$(document).ready(function(){})这两个方法的效果都是一样的,都是在dom文档树加载完之后执行一个函数(注意,这里面的文档树加载完不代表全部文件加载完)。而window.onload是在dom文档树加载完和所有文件加载完之后执行一个函数。也就是说$(document).ready要比window.onload先执行。那么jQuery里面$(document).ready函数的内部是怎么实现的呢?下面我们就来看看:我们来为document添加一个ready函数:document.ready = function (callback) {     ///兼容FF,Google     if (document.addEventListener) { document.addEventListener('DOMContentLoaded', function () {     document.removeEventListener('DOMContentLoaded', arguments.callee, false);     callback(); }, false)     }      //兼容IE     else if (document.attachEvent) { document.attachEvent('onreadytstatechange', function () {       if (document.readyState == ...
查看全文 posted @ 2016-05-04 17:44:10

TortoiseGit(乌龟git)保存用户名密码的方法

windows下比较比较好用的git客户端有2种:1. msysgit + TortoiseGit(乌龟git)2. GitHub for Windowsgithub的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit+乌龟git的组合。TortoiseGit在提交时总数会提示你输入用户名密码,非常麻烦。解决方案如下:方法一:设置 -> git 编辑本地 .git/config 增加[credential]       helper = store保存,输入一次密码后第二次就会记住密码了方法二:1. Windows中添加一个HOME环境变量,值为%USERPROFILE%2. 在“开始>运行”中打开%Home%,新建一个名为“_netrc”的文件3. 用记事本打开_netrc文件,输入Git服务器名、用户名、密码,并保存:machine github.com       #git服务器名称login user          #git帐号password pwd  #git密码在windows上建_netrccopy con _netrc  #创建_netrc文件#依次输入以下3行:machine github.com    #git服务器名称login username        #git帐号password password     #git密码在最后一行后输入ctrl+z,文件会自动保存并退出再次在git上提交时就不用重复输入用户名密码了
查看全文 posted @ 2016-04-13 09:04:22

浅谈Redis数据库的键值设计

丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。下面举一些常见适合kv数据库的例子来谈谈键值的设计,并与关系型数据库做一个对比,发现关系型的不足之处。用户登录系统记录用户登录信息的一个系统, 我们简化业务后只留下一张表。关系型数据库的设计mysql> select * from login;+---------+----------------+-------------+---------------------+| user_id | name | login_times | last_login_time |+---------+----------------+-------------+---------------------+| 1 | ken thompson | 5 | 2011-01-01 00:00:00 || 2 | dennis ritchie | 1 | 2011-02-01 00:00:00 || 3 | Joe Armstrong | 2 | 2011-03-01 00:00:00 |+---------+----------------+-------------+---------------------+user_id表的主键,name表示用户名,login_times表示该用户的登录次数,每次用户登录后,login_times会自增,而last_login_time更新为当前时间。REDIS的设计关系型数据转化为KV数据库,我的方法如下:key 表名:主键值:列名value 列值一般使用冒号做分割符,这是不成文的规矩。比如在php-admin for redis系统里,就是默认以冒号分割,于是user:1 user:2等key会分成一组。于是以上的关系数据转化成kv数据后记录如下:Set login:1:login_times 5Set login:2:login_times 1Set login:3:login_times 2Set login:1:last_login_time 2011-1-1Set login:2:last_login_...
查看全文 posted @ 2016-04-12 18:13:31

电话卡欠费也影响个人信用吗?

真的影响就完了完了,电话卡欠费也影响个人征信誉的话那我信用肯定黑过墨斗了!他娘的这几年经常换电话卡,有几张联通移动卡用一段时间就扔了,有的欠费有的不欠,那些扔掉的卡我都没有注销,而且都是实名的了,想办信用卡肯定办不了了,本来还打算今年想分期一辆车的,我想银行也不会贷款给我了吧!卧槽这次真的麻烦了
查看全文 posted @ 2016-04-12 18:00:04

孔明三气周瑜精文摘录

汉军师中郎将诸葛亮、致书于东吴大都督公瑾先生麾下:亮自柴桑一别,至今恋恋不忘。闻足下欲取西川,亮窃以为不可,益州民强地险,刘璋虽暗弱,足以自守,今劳师远征,转运万里,欲收全功,虽吴起不能定其规,孙武不能善其后也,曹操失利于赤 壁,志岂须臾忘报仇哉?今足下兴兵远征,倘操乘虚而至,江南齑粉矣!亮不忍坐视,特此告知,幸垂照鉴!好一个将计就计,让周瑜吐血而亡啊!
查看全文 posted @ 2016-02-05 14:01:59
第2页,共4页上一页1234下一页
top