##PHP 5.4新特性##
掌握
- traits
trait的引入,可以扩展class的内容,使class在某种形式上实现了多重继承,更加灵活,trait不能被实例化 举个例子,假设有三个类,男人,女人,人,人是男人和女人的父类,双11购物不是人人都有的行为,放在人 这个父类里显然不合适,我们把双11购物单独定义为一个trait,这个双11购物的trait不能自己驱动,需要被 其他类引用,从而让引用trait的类具有购物行为
示例代码:
快捷键: | |
ctrl+tab: switcher,在已打开文件之间或者工具窗口间切换 | |
alt+alt: 连续两次快速按下alt键不放,显示tool windows(project,database ...) | |
ctrl+k: 快速调用 commit changes 对话框 | |
alt+F3: 显示搜索窗格,对当前文件进行搜索,然后配合ctrl+alt+r,可以进行替换操作 | |
ctrl+shift+f: find in path 在指定文件夹或者整个project内搜索,ctrl+shift+r进行替换操作 | |
ctrl+shift+alt+t: 快速rename,里面有好几个选项,慢慢理解吧 | |
shift+F6: rename,自动重命名该变量所有被调用的地方 | |
ctrl+shift+n: 快速导航到指定文件,弹出一个dialog,输入文件名即可 |
<?php | |
/** | |
* 轻量级pdo操作封装函数 | |
* @author xixing.lu@outlook.com | |
* @version 2013-04-16 | |
* @todo 根据实际情况继续优化或者添加功能 | |
*/ | |
namespace dataservice\helper; | |
class PDOHelper |
1 普通匹配,遵循最长匹配规则,假设一个请求匹配到了两个普通规则,则选择匹配长度大的那个 | |
例如: | |
location /{ | |
[matches] | |
} | |
location /test{ | |
[matches] | |
} | |
2 精确匹配 | |
location = /{ |
<?php | |
/** | |
* Use php curl multi, rolling request url. | |
* | |
* @author liwanghui@dratio.com | |
*/ | |
class CurlRoll | |
{ | |
/** |
##PHP 5.4新特性##
掌握
邀请码 678082
我刚才想到一点,感觉应该可能是造成我困扰的主要原因 就是我把hash算法和hash表索引算法想成一个东西了 hash算法:time33等, hash表索引算法:h & ht->tTableMask,或者 h % 32 哈希算法的结果是h, h & ht->tTableMask的结果是元素在hash表中的位置
<?php | |
$w = array('a' =>1, 'b'=>10, 'c'=>14, 'e'=>20, 'f'=>30, 'h'=>6, 'g'=>70); | |
function roll($weight) | |
{ | |
$sum = array_sum($weight); | |
$j = 0; | |
foreach($weight as $k=>$v) | |
{ | |
$j = mt_rand(1,$sum); | |
if($j <= $v) |
学会用strace:
strace -o php.log -s 65535 php -i
然后在 php.log 中找ini:
open("/usr/bin/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/php.ini", O_RDONLY)
./configure \ | |
--prefix=/home/liwh/program/php-5.5.5\ | |
--enable-fpm\ | |
--with-fpm-user=php-fpm\ | |
--with-fpm-group=php-fpm\ | |
--enable-opcache\ | |
--enable-calendar\ | |
--enable-exif\ | |
--enable-ftp\ | |
--enable-gd-native-ttf\ |