使用 snippet 的技巧 - (sunznx) 振翅飞翔
26 June 2019

巧记 php 函数

总所周知,php 是一个很坑的语言,比如被人吐槽的函数参数不统一。由于历史原因,这个坑很不好填了。解决方法:

  1. 使用 helper 函数,例如 laravel 的 Arr::xxx, Str::xxx
    我个人不喜欢用 laravel 的 helper 函数,首先它并不通用,离开了 laravel 就没了(当然这个可以用 composer 解决)。最大的坑还是这些函数有时候不能和智能提示一起使用。当你使用对象数组的时候,智能提示就挂了… 强迫症的我受不了
  2. 使用 snippet
    snippet 是 emacs 的叫法,在 phpstorm 和 idea 里面叫 live templates ,暂且叫他们为 “代码块”
    比如我不记得 str_replace 的参数顺序,我可以写一个 str_replace 的代码块,一看到下面的代码我就知道每个参数是什么意思

    str_replace($from, $to, $str);

    strpos

偷懒

snippet 除了用来记函数参数之外,还有偷懒的功能。比如, public function xxx(xxx) 是经常用的,可以写一个 pub 的代码块:

public function __construct

composer.json 的写法老是忘记?我会写出下面的 snieppet,每次我要写 composer.json 的时候,我会将他当成文件模板来使用,再也不用记,json 的键值是 psr-4 还是 psr4

代码之外的 snippet

有一些常用的 shell 脚本,例如

# 按名字杀掉进程
ps -eaf | grep NAME | awk '{print $2}' | xargs kill=

# 删除 user_ 开头的 redis key
redis-cli -h HOST -a PASSWORD keys user_* | xargs redis-cli -h HOST -a PASSWORD del

# 文件转码
iconv -f GBK -t UTF-8 /path/to/file  > /path/to/file

谁没事背这个?

mac 上有个 app 叫 clipy https://github.com/Clipy/Clipy ,这家伙除了剪切板的功能之外也带有 snipeet 的功能,打开方式大概如下