首页 包含搜索词 “” 的文章
  • 【1】QeePHP使用ActiveRecord更好的封装业务逻辑

    blogdaren 2014-12-27   1852次来访
    通常的 ActiveRecord 实现,无非是封装一个数据库记录。然后把记录的字段变成对象属性而已。QeePHP 的 ActiveRecord 是很不同的,其属性不但可以是记录的字段,还可以映射到不同的方法。 举个最简单的例子:计算订单总金额 订单通常由多个订单项目组成,订单项目包含有商品的ID和购买价格。所以计算订单金额合计就是遍历订单项目,然后用订单项目的价格乘以数量,最后累加。 //传统代...
  • 【2】详解PHP服务端推送技术Long Polling

    blogdaren 2014-12-27   2501次来访
    概述 服务端推送技术应用越来越普遍,应用范围也越来越宽广,技术解决方案也越来越成熟且丰富。很多SNS网站的chat功能就有用到了Long Polling技术。比如fackebook, kaixin001。 Long Polling原理其实很简单,也很讨巧。与Polling相比,Long Polling客户端也许不会马上收到来自服务端的响应,需要等待一些时间(直到有新消息,或者连...
  • 【3】PHP正则表达式匹配中文

    blogdaren 2014-12-27   1480次来访
    在ANSI(GB2312)环境下 匹配全部的gb2312编码表的字符:/[".chr(0xb0)."-".chr(0xf7)."]+/ 单纯匹配汉字而不匹配全角标点:/([".chr(0xb0)."-".chr(0xf7)."][".chr(0xa1)."-".chr(0xfe)."])/ 该表达式能匹配一个中文字符。 匹配全角标点而不匹配汉字:/([".chr(0xa1)."-".chr...
  • 【4】UCenter实现跨域单点登陆的原理

    blogdaren 2014-12-27   2214次来访
    1、每一个应用都要包含uc_client,下面拿uchome代码举例 2、uchome登陆时访问source/do_login.php 的getpassport函数,getpassport通过uc_client 直接连ucenter的数据库,实现当前站点的登陆 3、uchome然后调用$ucsynlogin = uc_user_synlogin($setarr['uid']);实现跨域登陆 4、在...
  • 【5】PHP实现搜索引擎技术核心揭密:"借用" 别人现成的搜索引擎

    blogdaren 2014-12-25   1650次来访
    谈到网页搜索引擎时,大多数人都会想到雅虎。的确,雅虎开创了一个互联网络的搜索时代。然而,雅虎目前用于搜索网页的技术却并非该公司原先自己开发的。2000年8月,雅虎采用了Google(www.google.com)这家由斯坦福大学学生创建的风险公司的技术。理由非常简单,Google的搜索引擎比雅虎先前使用的技术能更快、更准确搜索到所需要的信息。 让我们自己来设计、开发一个强劲、高效的搜索引擎和数...
  • 【6】关于对缓存的理解:什么才是好缓存?

    blogdaren 2014-12-25   1680次来访
    现在的技术人员,很多时候,不管三七二十一,把一个个实体丢到缓存中,然后在用的时候,就从缓存中去找这个实体。而不会考虑缓存的其他方面因素。所以他们在提到缓存时,想到的只能是一个个的缓存实现的方法,而不是缓存的思想。 那么,缓存的思想是如何的呢?下面我们来分享下: Q:什么样的缓存才是好缓存? 能解决问题的缓存就是好缓存。这句话简直就是废话,相当于白猫、黑猫,抓住老鼠...
  • 【7】PHP面向对象特性:多态性的应用

    blogdaren 2014-12-25   1523次来访
    多态是除封装和继承之外的另一个面向对象的三大特性之一,所谓多态性是指一段程序能够处理多种类型对象的能力,比如说在公司上班,每个月财务发放工资,同一个发工资的方法,在公司内不同的员工或是不同职位的员工,都是通过这个方法发放的,但是所发的工资都是不相同的。所以同一个发工资的方法就出现了多种形态。对于面向对象的程序来说,多态就是把子类对象赋值给父类引用,然后调用父类的方法,去执行子类覆盖父类的那个...
  • 【8】PHP session有效期session.gc_maxlifetime

    blogdaren 2014-12-25   1386次来访
        PHP中的session有效期默认是1440秒【即24分钟】,也就是说,客户端超过24分钟没有刷新,当前session就会失效。很明显,这是不能满足需要的。     一个已知管用的方法是: 使用session_set_save_handler,接管所有的session管理工作,一般是把session信息存储到数据库,这样可以通过S...
  • 【9】表单中post与get的区别

    blogdaren 2014-12-25   1486次来访
      1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。   2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。   ...
  • 【10】Linux防火墙iptables工作原理以及参数配置详解

    blogdaren 2014-12-25   2684次来访
    iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都支持iptables,因此理解如何配置 iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工作原理,你会发现其实它很简单。 首先介绍iptables的结构:iptables -> Tables ...
  • 【11】PHP中关于session和cookie联系与区别

    blogdaren 2014-12-24   1545次来访
    众所周期:http协议是一种无状态的协议,要想跟踪用户的行为就必须有一个能工作于不同于页面的变量,在PHP中可以用cookie和session两种办法实现。 cookie大家比较熟悉了,就是在把变量存为客户端上的一个文件而已,但是如果客户禁止cookie就没办法了。这就需要session了,在PHP4中,session可以有两种办法实现,一是用cookie, 即把sessionID...
  • 【12】【原创】如何避免PHP的图片缓存问题?

    blogdaren 2014-12-24   1600次来访
    问题背景: 有一张图片的 url 固定,后台更改了图片内容,但是页面显示的还是原来的图片。 问题原因: 这是由于图片缓存在起作用,即访问了本地的图片缓存。 解决方案: <?php echo "http://www.xxx.com/yyy.jpg?" . time();
  • 【13】UCenter通信原理

    blogdaren 2014-12-24   2880次来访
    1、用户登录bbs,通过logging.php文件中,使用函数uc_user_login验证,如果验证成功,将调用函数uc_user_synlogin(位于uc_client下的client.php文件中), 在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid));之后向UC_API.'/index.php'传递了数据;这...
  • 【14】PHP生成日期范围数组

    blogdaren 2014-12-24   1492次来访
    <?php $d0 = '2014-12-24'; $d1 = '2014-12-31'; $_time = range(strtotime($d0), strtotime($d1), 24*60*60); $_time = array_map(create_function('$v', 'return date("Y-m-d", $v);'), $_time); print_r($_t...
  • 【15】关于数据结构和字符串处理的PHP代码整理

    blogdaren 2014-12-24   1345次来访
    <?php //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ($low <= $high){ $mid = intval(($low+$high)/2); ...
Free Web Hosting