2013年2月

自定义url scheme

就是实现类似thunder://svn://tencent://的链接,然后点击链接的时候,会弹出询问是否要启动应用程序。

windows下的实现

google搜索到,windows下只需要修改注册表就可以了,以下是导出的svn的

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\svn]
@="URL:SVN Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\svn\DefaultIcon]
@="C:\\Program Files\\TortoiseSVN\\bin\\TortoiseProc.exe"

[HKEY_CLASSES_ROOT\svn\shell]

[HKEY_CLASSES_ROOT\svn\shell\open]

[HKEY_CLASSES_ROOT\svn\shell\open\command]
@="C:\\Program Files\\TortoiseSVN\\bin\\TortoiseProc.exe /command:repobrowser /path:\"%1\""

php拾遗

php中的三目运算

// 可省略第一个,写了这么长时间的php,还真不知道,以前只知道C#的双问号,还特地搜过php是否有类似的操作符的
// laravel uri.php 56行
trim($uri, '/') ?: '/';

array_diff

两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。

不直接使用 array_filter,是因为它默认根据元素的bool值来的

<?php
if(0) {
    var_dump((string)true); // "1"
    var_dump((string)false); // ""
}
// laravel uri.php 102行
array_diff($segments, array(''));</code></pre><h3>php对象链</h3><pre class="prettyprint"><code class="language-php">// php5.3会出错, 5.4正常:(new A())->a();
// laravel helpers.php 499行
function with($object) {
    return $object;
}

with(new A()) -> a();