php
文章平均质量分 68
erlanp
这个作者很懒,什么都没留下…
展开
-
php常驻程序内存泄露的简单解决
php原本设计是用了一次就丢了的,这样用基本没有内存泄露的问题,就是每次要重新构建速度会慢。 php常驻的情况内存泄露发生的概率就很高了 php主流常驻框架是解决方案也是用了就丢,但不是立刻就丢: 1·roadrunner .rr.json的配置文件 { "http": { "address": "127.0.2.1:80", "workers": { "command": "php psr-worker.php", "pool": { "...原创 2020-10-20 23:55:07 · 1019 阅读 · 2 评论 -
php入门第四天
运算符的相关内容可以查php手册。下面的内容我会写一些细节问题。 算术运算符 递增/递减运算符 <?php $i = 0; $x = ($i++); //相当于 $x = $i; $i += 1; $j = 0; $y = (++$j); //相当于 $j += 1; $y = $i; $k = 0; $z = ($k+=1); printf('$i is : %s原创 2012-12-24 07:34:33 · 674 阅读 · 0 评论 -
php入门第三天
三元运算和if语句。 我先道歉,我最近才发现我用的wamp不是我说的那一版,我安装wamp的时候没删老版的,而且安装在了原目录。现在发现新版的默认配置是如果变量未赋初值,就会报错。虽然变量未赋初值改配置文件就可以,这样写起来也方便,但据我的经验,这样做,好处比坏处少。 现在在下面的二段代码中加入了这两句,就不会报错了。 isset($_POST['user_id']) ?原创 2012-11-18 17:39:09 · 950 阅读 · 0 评论 -
php入门第五天
循环: for循环 $arr = array(1, 2, 3); for ($i=0, $i_=count($arr); $i';} //或者倒着循环 for ($i=count($arr)-1; 0';} //或者把for 当while用 $i=count($arr)-1; for (; 0';--$i;} ?> foreach 和 while循环: for原创 2013-03-10 07:39:27 · 768 阅读 · 0 评论 -
CodeIgniter的扩展方法
CodeIgniter这个框架的规则比较少,另外核心类都心CI_开头,很方便扩展。CodeIgniter的扩展有很多种方法,有替换核心类的,有继承扩展核心类,及使用钩子的,和__autoload加载的。 先说怎么扩展smarty的例子。 本人作为一个程序员,觉得php原生的模版是比smarty更强大的,只要在格式上用,另外view用的函数必须是php原生的或公共原创 2013-08-28 22:51:09 · 5946 阅读 · 0 评论 -
写给新手,用最基础的方法重构代码
这是写给新手的。嗯,我实际上也是个新手。老手们应该可以不看,看了如果觉得有地方不对,请多多批评。谢谢! 基于数组对if语句的重构。 用if时。 $table = 'test_order'; if ($table === 'test_order' OR $table === 'test_client' OR $table === 'test_are原创 2013-05-26 18:02:11 · 795 阅读 · 0 评论 -
php入门第六天
灵活的字符串。 因为$表达的灵活性,我们可以用“映射”的方法,调出字符串或者函数。 $a = 'b'; $b = '123'; echo $$a; // 这可以输出123。不过比较好的习惯是echo ${$a},这样更清楚明了。 $c = 'd'; echo $c(); function d() {return '321';} // $c()调用的是d函数原创 2013-04-28 21:46:01 · 2089 阅读 · 0 评论 -
php入门第八天
函数。 php的函数是过程式编程的基础。 function foo() { echo 'some'; } 这是基本形式。原创 2014-03-18 21:50:31 · 691 阅读 · 0 评论 -
php入门第七天
Form的提交及页面间的传值。 Cookie是存放在客户的硬盘上的文件,每种浏览器都有它各自的位置。记得有一回我用不同的浏览器上两个百度号,结果两个浏览器上的用户都成了我后上的那个号,这个用浏览器的Cookie是做不到的,显然用的是flash cookie。也许是为了方便用多个号发贴的人,后来就没遇到这样的事了。Flash是个比较不安全的东西,但有时又不得不用,比如要在新浪上传相片,原创 2013-07-21 20:59:52 · 1026 阅读 · 0 评论 -
公共js在页面底部加载的注意事项
JavaScript脚本文件都放在页面底部加载,可以有效地加快页面的加载速度。 但是,php控制器一般这样写: $this->load->view($HEADER); $this->load->view($MENU); $this->load->view($VIEW_SHOW, $data); $this->load->view($FOOTER);原创 2013-07-17 21:35:42 · 1120 阅读 · 0 评论 -
活用工厂模式调用smarty
最近项目用了ajax 弹出 网页层,先是把弹出 网页层的模版放在了主要页面的模版文件夹下,不过混在一起不太好。就想把模版放到新的文件夹。 看了下引用smarty的inc文件,$tmpl = new Smarty;$tmpl->left_delimiter=';$tmpl->config_dir=。。。。。 不想再写一个smarty的inc文件,因为有原创 2012-07-16 19:52:58 · 801 阅读 · 0 评论 -
我对构造散列函数的理解
网站虽然会hash用户的密码然后保存在数据库中,但是网站却可以知道用户密码,网站冒充用户很容易。构造散列函数只能提供“单向”的验证。非对称加密验证就“功能”而言更强大,但hash对网站来说够用,运算速度又快于des(可能是单向散列无须考虑解密),更别说非对称了。 MD5被王小云破解了。假设123456和654321的md5值一样,你用123456得到一个md5值,你用王氏算法用一小时原创 2012-04-15 22:20:54 · 1146 阅读 · 0 评论 -
php不支持函数式编程的解决办法
最近看了一下上级写的valid类,都是正则表达式。我想不用正则,应该会提高些运行速度, 比如验证是否是0~9的数字组合。 function check_num($data) { $len = strlen($data) for($i=0;$i { $ord = $data[$i]; if( $ord >= '0' && $ord原创 2012-08-04 18:47:53 · 1865 阅读 · 0 评论 -
自动生成简单的sql语句
$sql .= "id='" . $arr['id'] . "'"; $sql .= "id='{$arr['id']}'"; $sql .= "id='$arr[id]'"; 最近试了一下生成sql语句不同写法的速度,在上面三种中, 第三种最慢,但没慢多少(顶多20%)。 第一种比较麻烦,但方便写成 $sql .= "id='" . func( $arr['id'] )原创 2012-08-04 18:24:08 · 901 阅读 · 0 评论 -
smarty与js冲突的非主流解决办法
Smarty的使用中,有一些麻烦的事。比如在模版可以用{$data}这样的写法,但因为很多模版一般都有它独自的javascript,所以写成了 或 [{$data} 的样子。使用标签{literal}[javascript code]{/literal}虽然是一个解决办法,当然,你也可以为所需的javascript单独写个文件引用(麻烦)。但如果javascript中需要php变量时,这就不合适原创 2012-09-12 07:23:31 · 2218 阅读 · 0 评论 -
php——有时候你都不知道怎么错的
因为php不用定义变量,所以你写错了变量名,也不会告诉你。很多时候是微差别,一句句的看代码是看不出来的,还好很多软件有显示变量的东西,比如pspad的程序浏览器,notepad++的function list。看一下变量的列表,一般程序不长的话,一两眼就可以看出哪个变量实际上是打错的。 犯这种错误不是第一回了,专们写一下。 虽然都是脚本语言,还是python好。赋原创 2012-06-24 22:51:57 · 755 阅读 · 0 评论 -
替换php中双引号的小程序
因为本人有一点点代码洁癖,看不习惯老代码中的$POST["abc"]或$_GET[abc]什么的,还有没必要用双引号的地方不用单引号的。所以专门写了个php小程序。 这个程序只能转纯php文件,不能用于模版文件。另外如果你定义的常量不是大写的,及字符串用了 这个程序是给自己用的,很多地方不规范,比如应该用有意义名称的地方用的是0啊1啊,这个不要学。代码写得不怎么样,只是原创 2012-12-24 12:46:24 · 1409 阅读 · 0 评论 -
php中strtr和str_replace的坑
str_replace这个函数比较无脑 $a = 'abcxy'; echo str_replace(array('abc', 'xy'), array('xy', 'abc'), $a),''; ?> 你想输出 xyabc, 但是实际是:abcabc,因为它是循环替换。 str_replace格式如下 str_replace ( m原创 2013-05-08 21:46:51 · 8161 阅读 · 1 评论 -
总结一下最近实践上用到的sql语句
// 最近写的一些sql语句,感谢上级指导。(写这个文章时还不知道查postgreSql的手册,浪费了上级的时间,如果当时上级直接发我手册就好了) // (写这个文章时实践还太少。个人觉得学习sql语言的最好方法是实践加查手册,上网搜。下面字段k_rea从 1~10,所以用了循环。pgsql可以存数组,上级说这样设计是为了方便新人,"||"是pgsql用的连接符号。mysql虽然存不了数据,不过原创 2012-06-24 22:49:56 · 627 阅读 · 0 评论 -
php之大话代理模式
函数 <?php function im_GiveGift() { return array( 'GiveFlowers' => function() {die('接口未定义');}, 'GiveChocolate' => function() { die('接口未定义');}, ); } function SchoolGirl(Array $data) { ex原创 2013-05-26 18:39:54 · 1672 阅读 · 0 评论