пятница, 29 июня 2018 г.

Zend_Tool подключение кастомных провайдеров

Zend_Tool пакет в Zend Framework, который предназначен для программирования консольной утилиты zf.



По умолчанию в zf уже встроены ряд операций, но их модно расширять кастомным провайдером.



1. Пишем кастомный провайдер (-ы) и манифест



class PS_Tool_RouteProvider extends Zend_Tool_Framework_Provider_Abstract

{

      ......

}





class PS_Tool_Manifest implements Zend_Tool_Framework_Manifest_Interface

{

 

    public function  getProviders()

    {

        return array(         
            new PS_Tool_RouteProvider         
        );

    }

 

 

}



2. Создаем конфиг для утилиты zf



zf --setup config-file


 3. Открываем создавшийся (скорее всего в домашней папке файл .zf.ini)


 4. Добавляем пути к библиотеке с провайдером в include_path


 php.include_path = "C:\xampp\php\pear;C:\xampp\htdocs\shared;C:\xampp\htdocs\diclon\application\library;"


 5. Подключаем кастомный провайдер (добавляем строку в .zf.ini)


basicloader.classes.0 = PS_Tool_RouteProvider
basicloader.classes.1 = PS_Tool_Manifest

Всё, можно использовать.




четверг, 4 января 2018 г.

Формы в Laravel

 Многие фреймворки имеют встроенную поддержку генерации форм. В Laravel так было изначально, но затем формы выделили в отдельный компонент laravelcollective/html. В самом Laravel осталось буквально несколько элементов: защита от CSRF и поддержка дополнительных методов HTTP в HTML-формах.

Для установки этого компонента выполните эту команду:


$ composer require "laravelcollective/html"

суббота, 6 мая 2017 г.

Полезные настройки для vim

 Вставляем в ~/.vimrc


set tabstop=4

syntax on " Syntax highlighting

set showmatch " Shows matching brackets

set ruler " Always shows location in file (line#)

set smarttab " Autotabs for certain code

set shiftwidth=4


понедельник, 1 мая 2017 г.

Фаулер о добавлении новой функциональности

Обнаружив, что в программу необходимо добавить новую функциональность, но код программы не структурирован удобным для добавления этой функциональности образом, сначала произведите рефакторинг программы, чтобы упростить внесение необходимых изменений, а только потом добавьте функцию.

Мартин Фаулер

понедельник, 13 июня 2016 г.

GIT fatal: inflateInit: out of memory

На одном из серверов при попытке пушнуть взятый под git код возникла ошибка

Delta compression using up to 24 threads.
fatal: inflateInit: out of memory (no message)


Помогло сокращение трэдов упаковки git config --global pack.threads 1

Linux: генерация рандомной строки для пароля

 cat /dev/urandom | tr -dc '[:alnum:]' | fold -w ${1:-20} | head -n 1