Skip to content

Instantly share code, notes, and snippets.

@luxixing
luxixing / phpstorm
Created October 24, 2013 11:04
PHPStorm 使用技巧
快捷键:
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,输入文件名即可
@luxixing
luxixing / php-pdo-helper.php
Last active April 23, 2019 20:40
PHP-PDO Class
<?php
/**
* 轻量级pdo操作封装函数
* @author xixing.lu@outlook.com
* @version 2013-04-16
* @todo 根据实际情况继续优化或者添加功能
*/
namespace dataservice\helper;
class PDOHelper
@luxixing
luxixing / nginx-location
Created November 1, 2013 09:16
nginx location 匹配规则
1 普通匹配,遵循最长匹配规则,假设一个请求匹配到了两个普通规则,则选择匹配长度大的那个
例如:
location /{
[matches]
}
location /test{
[matches]
}
2 精确匹配
location = /{
@luxixing
luxixing / CurlRoll.php
Created October 23, 2013 10:54
php-curl-multi 使用php curl多进程请求url,抓取页面的类
<?php
/**
* Use php curl multi, rolling request url.
*
* @author liwanghui@dratio.com
*/
class CurlRoll
{
/**
@luxixing
luxixing / PHP迁移A-新特性.md
Last active August 22, 2017 23:43
PHP从5.3向更高版本升级, 处理好不兼容和变更的部分, 掌握新的特性,此系列内容只针对语言层面,至于zend engine优化,修改,不会影响到PHP开发,且本人能力有限,将不会涉及

##PHP 5.4新特性##

掌握

  • traits
    trait的引入,可以扩展class的内容,使class在某种形式上实现了多重继承,更加灵活,trait不能被实例化 举个例子,假设有三个类,男人,女人,人,人是男人和女人的父类,双11购物不是人人都有的行为,放在人 这个父类里显然不合适,我们把双11购物单独定义为一个trait,这个双11购物的trait不能自己驱动,需要被 其他类引用,从而让引用trait的类具有购物行为
    示例代码:
@luxixing
luxixing / 科学上网信息.md
Created May 10, 2016 03:27
如何科学的上网,信息在此收集
@luxixing
luxixing / hash.md
Created November 14, 2013 08:26
理解hash冲突和hash表的一个很关键的过程

我刚才想到一点,感觉应该可能是造成我困扰的主要原因 就是我把hash算法和hash表索引算法想成一个东西了 hash算法:time33等, hash表索引算法:h & ht->tTableMask,或者 h % 32 哈希算法的结果是h, h & ht->tTableMask的结果是元素在hash表中的位置

@luxixing
luxixing / roll.php
Created November 13, 2013 15:34
权重概率计算
<?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)
@luxixing
luxixing / php.ini文件加载定位.md
Created November 12, 2013 09:18
这是一个很牛逼的经验 大昆仑的少年天才方汉方总威武

学会用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)

@luxixing
luxixing / PHP 5.5编译安装配置参数.sh
Created November 8, 2013 06:10
PHP 5.5.5编译安装配置参数
./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\