Проблемы с Callgraph

После установки xhprof и Graphviz на windows столкнулся с проблемой. При обращении к Callgraph выдавалась ошибка:

Format: "png" not recognized. Use one of:

Вылечил запуском командной строки от имени администратора и выполнением команды:

dot -c

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

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         
        );
 
    }
 
}

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

zf --setup config-file

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

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

 php.include_path = "C:/xampp/php/pear;C:/xamp/phtdocs/shared;C:/xampp/htdocs/diclon/application/library;"

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

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

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

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

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

Формы в Laravel

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

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

composer require "laravelcollective/html"

Полезные настройки для 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

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

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

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

GIT fatal: inflateInit: out of memory

На одном из серверов при попытке пушнуть взятый под git код возникла ошибка
Delta compression using up to 24 threads.<br>fatal: inflateInit: out of memory (no message)

Помогло сокращение трэдов упаковки

git config --global pack.threads 1

О преждевременной оптимизации

 . 

«Преждевременная оптимизация — корень всех зол»

Дональд Кнут

статья «Structured Programming with go to Statements» в сборнике «Computing Surveys» (Vol. 6, № 4, декабрь 1974, стр. 268)