5.18.2010

php: array_filter_keys

Задача: получить из входного массива только заданные ключи

Решение:


function array_filter_keys(array $array, array $keys){
return array_intersect_key($array, array_flip($keys));
}


$input = array(
'key1' => 'qqq',
'key2' => 'www',
'key3' => 'eee'
);

var_dump(array_filter_keys($input, array('key1', 'key2', 'key5')));

array
'key1' => string 'qqq' (length=3)
'key2' => string 'www' (length=3)

2.25.2010

gui для просомтра лога mercurial


Собственно вот:
hg clone http://www.logilab.org/cgi-bin/hgwebdir.cgi/hgview .

2.09.2010

Автозагрузка библиотек модуля в ZendFramework


class Core_Bootstrap extends Zend_Application_Module_Bootstrap {
protected function _initModule(){
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'namespace' => '',
'basePath' => dirname(__FILE__),
));
$resourceLoader->addResourceTypes(array(
'library' => array(
'path' => 'library',
'namespace' => 'Core_'
)
));
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->pushAutoloader($resourceLoader);
}
}

Теперь в других модулях можно пользоваться библиотекой модуля Core, например:
$oElement = new Core_Form_Element_Image(); // extends Zend_Form_Element_File
для создания элемента формы с загрузкой(и предпросмотром уже загруженного) файла изображения.

11.24.2009

Массовый граббинг url'ов с помошью wget


#!/usr/bin/env bash
rm page*
for i in {1..20}
do
wget --limit-rate=25k --wait=5 --random-wait http://domain/page$i.html
done

9.30.2009

Подсветка синтаксиса в nano

# cd /usr/share/nano
# wget http://nanosyntax.googlecode.com/svn/trunk/syntax-nanorc/php.nanorc
# nano /etc/nanorc
- раскомментировать необходимые языки (html,python,c)
- добавить в конец файла
## PHP
include "/usr/share/nano/php.nanorc"