摘要:最近在使用yii写rest api发现在所有错误信息都写在log文件里调试不是很直接 在index.php头部查入就ok了
阅读全文
摘要:如果我们想知道某个方法被谁调用了? debug_print_backtrace可以解决!~测试代码 1 <?php 2 class a{ 3 function say($msg) { 4 echo "msg:".$msg; 5 echo "<pre>";debug_print_backtrace(); 6 } 7 } 8 9 class b {10 function say($msg) {11 $a = new a();12 $a->say($msg);13 }14 }15 16 class c ...
阅读全文
摘要:这框架是在部门里为了培训新员工理解mvc所写的,当时使用了smarty更新到了sae由于本地目录不可写的原因所以去了掉,可以在google code里可以找到以前的版本框架很简单不超过500行代码 为了sae自己写了一个安装的过程 支持本地和sae主要有 1 一个简单的任务分发 2 一个简单的orm 3 一个简单的模板引擎 4 简单的安装处理过程 5 一个简单的留言板 6 一个简单的分页类google code:http://code.google.com/p/prototype-mvc-for-php/SAE APP地址:http://sae.sina.com.cn/?m=app...
阅读全文
摘要:1 <?php2 // http://cn.php.net/manual/zh/function.create-function.php3 $lambda = create_function('$a,$b','return ($a > $b)? $a : $b;');4 var_dump($lambda);5 echo $lambda(1,2);下面一些具体的示例 1 function do_foreach($arrData,$func) { 2 $arrResult = array(); 3 foreach($arrData as $row) {
阅读全文
摘要:1 <?php 2 /** 3 * 快速排序 quick sort 4 * 5 **/ 6 7 function sort_quick($arrData) { 8 if(empty($arrData) || !is_array($arrData)) return false; 9 10 $flag = $arrData[0];11 $len = count($arrData) - 1;12 if($len == 0) return $arrData; // 如果只有一个数据的数组直接返回13 14 $arrLeft = array();1...
阅读全文
摘要:1 <?php 2 /** 3 * 查找 4 * 5 **/ 6 // 顺序查找 7 function normal_search($arrData,$val) { 8 $len = count($arrData); 9 if($len == 0) return -1;10 for($i = 0;$i < $len; $i++ ) {11 echo "find No.",$i + 1," value = ",$arrData[$i]," is = ",$val,"? <br/>";12 //
阅读全文
摘要:公司的云平台把fsockopen关掉了,如果要使用smtp外网的邮箱来发送邮件的话 只能试试使用curl来进行了先google了一下,发现很多问相关问题的但没有相关的解答,在phpclasses里也没有找到相关的类于是自己边看stmp的相关协议边开始尝试curlSMTP协议这个在网上可以找到多相关的例子,可以自己实验一下使用telnet去连接mail服务器$ telnet 邮箱SMTP服务地址 25Trying 邮箱服务IP地址...Connected to 邮箱SMTP服务地址.Escape character is '^]'.220 exchange邮箱服务器地址 Micr
阅读全文
摘要:今天有问题报过来说linux平台下 fgetcsv处理的有空数据产生起初以为中php版本问题,其实和版本没有关系 在window下开发的同事都没有问题 而自己的本本和服务器上,和使用linux系统的同事 都出现空数据的问题google一下设置区域:简体中文,UTF-8编码setlocale(LC_ALL, 'zh_CN.UTF-8');
阅读全文
摘要:程序很多情况会需要写临时文件大多数会使用如果方式:tempnam("/tmp","filename");但是/tmp不一定能写....,可以改成tempnam(sys_get_temp_dir(),"filename");
阅读全文
摘要:2010年的时候有做过相关的东西,为ECOS框架写了一个相关的APP应用,前段时候要用xhprof来测试一下ECAE上的php的运行效率又重新要安装xhprof本日志记录下相关的过程,以便以后再次使用到编译安装wget http://pecl.php.net/get/xhprof-0.9.2.tgztar zxf xhprof-0.9.2.tgzcd xhprof-0.9.2/extension/sudo phpize./configure --with-php-config=/usr/local/php/bin/php-configsudo makesudo make install配置 p
阅读全文
摘要:ubuntu10.04 官方没有php-fpm的源 10.10开始已经有了加入非官方的源/etc/apt/source.listdeb http://ppa.launchpad.net/jdub/devel/ubuntu maverick maindeb http://ppa.launchpad.net/brianmercer/php/ubuntu lucid maindeb-src http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main安装sudo apt-get updatesudo apt-get install php5-f
阅读全文
摘要:扩展安装sudo apt-get install php5-svn详细地址http://cn.php.net/manual/zh/book.svn.php
阅读全文
摘要:1 <?php 2 /** 3 * 简单选择排序 simple selection sort 4 * 5 * 原理: 一次选定数组中的每一个数,记下当前位置并假设它是从当前位置开始后面数中的最小数min=i,从这个数的下一个数开始扫描直到最后一个数,并记录下最小数的位置min,扫描结束后如果min不等于i,说明假设错误,则交换min与i位置上数。 6 */ 7 function sort_simple_selection($list) 8 { 9 $len=count($list);10 if(empty($len)) return$list;11 12 for($i=0;$i<$
阅读全文
摘要:# -- mysql -----sudo apt-get install mysql-serversudo apt-get install mysql-client # 检测Mysql是否正常mysql-uusername -ppassword # -- apache -------sudo apt-get install apache2# 检测Apache是否正常# 浏览器上输入http://127.0.0.1 看apache是否启动# phpsudo apt-get install php5sudo apt-get install libapache2-mod-auth-mysqlsud.
阅读全文
摘要:1 <?php 2 /** 3 * 半折插入排序 straight binary sort 4 * 5 * 原理:当直接插入排序进行到某一趟时,对于 r[i] 来讲,前边 i-1 个记录已经按关键字有序。此时不用直接插入排序的方法,而改为折半查找,找出 r[i] 应插的位置,然后插入。 6 */ 7 function sort_binary_insertion($list) 8 { 9 $len=count($list);10 if(empty($len)) return$list;11 12 for($i=1; $i<$len; $i++)13 {14 $temp=$lis...
阅读全文
摘要:1 <?php 2 /** 3 * 冒泡排序 bubble sort 4 * 5 * 原理:多次循环进行比较,每次比较时将最大数移动到最上面。每次循环时,找出剩余变量里的最大值,然后减小查询范围。这样经过多次循环以后,就完成了对这个数组的排序 6 */ 7 function sort_bubble($list) 8 { 9 $len=count($list);10 if(empty($len)) return$list;11 $is_change=false;12 13 for($i=0;$i<$len; $i++)14 {15 for($j=$i+1; $j<$len; $
阅读全文
摘要:1 <?php 2 /** 3 * 三元组 Triplet 4 * 5 */ 6 class Triplet 7 { 8 private$_data=null; 9 10 // 初始化三元组11 publicfunction init($val1,$val2,$val3)12 {13 $this->_data[0] =$val1;14 $this->_data[1] =$val2;15 $this->_data[2] =$val3;16 returntrue;17 }18 19 // 销毁三元组20 publicfunction destroy()21 {22 ...
阅读全文
摘要:1 <?php 2 /** 3 * 迭代器模式 4 * 5 * 提供一个方法顺序访问一聚合对象中的各个元素,而又不暴露对象的内部表示 6 */ 7 interface Interator 8 { 9 publicfunctionnext();10 publicfunction first();11 publicfunctioncurrent();12 publicfunction isDone();13 }14 15 class SomeInterator implements Interator16 {17 private$_arr=array();18 19 publicfunct.
阅读全文
摘要:传统的23种模式(没有区分简单工厂与抽象工厂)http://www.cnblogs.com/bluefrog/archive/2011/01/04/1925933.html php设计模式 Interpreter(解释器模式)http://www.cnblogs.com/bluefrog/archive/2011/01/04/1925932.html php设计模式 Factory(工厂模式)http://www.cnblogs.com/bluefrog/archive/2011/01/04/1925929.html php设计模式 Facade(外观模式)http://www.cnblogs
阅读全文
摘要:1 <?php 2 /** 3 * 访问者模式 4 * 5 * 表示一个作用于某对象结构中的各元素的操作,可以在不改变各元素的类的前提下定义作用于这些元素的新操作 6 * 7 */ 8 abstractclass Visitor 9 {10 abstractpublicfunction visitCroncreteElementA($element);11 abstractpublicfunction visitCroncreteElementB($element);12 }13 14 class ConcreteVisitor1 extends Visitor15 {16 publ..
阅读全文