среда, 26 июня 2013 г.

EventDispatcher Drupal 8 Challenging

Эта статья основана на на статье описанной ещё в июле 2012 и проведённого Kyiv Code Sprint в июне 2013. Материал статьи остаётся актульным. Здесь опишем как работает система Event Dispatcher в Drupal 8. Будьте внимательны так как диспетчер в Д8 всеволишь один. Хотя логичнее сделать(для меня) для каждого события свой диспетчер. Наверное это будет сделано в Д9. Так как Д8 производительностью не блестает и подбираеться дата релиза, а работы не початый край. Так же это только начало познаний сложных структур Symfony 2 в Drupal 8.

четверг, 20 июня 2013 г.

Альтернатива drupal_static - cache_key

При кешировании результатов функций с параметрами приходиться генерировать ключ. Данный код подходит почти под все варианты. Только не надо злоупотреблять.

function get_athletes($customer_tid_list, $team_nid_list, $reset=FALSE) {
  static $cache = array();
  $cache_key = crc32(print_r(func_get_args(), 1));
  if (!$reset && array_key_exists($cache_key, $cache)) {
    return $cache[$cache_key];
  }
  ...
  return $cache[$cache_key] = $result;
}

понедельник, 17 июня 2013 г.

Как динамически инициализировать класс РНР с динамическики параметрами.

Как динамически инициализировать класс РНР с динамическики параметрами. Вот решение.
function create_instance($class, $params) {
  $reflection_class = new ReflectionClass($class);
  return $reflection_class->newInstanceArgs($params);
}
Размышление можно просмотреть в полной статье.

четверг, 6 июня 2013 г.

Система управления конфигурацией в Drupal 8

  • “Features в ядре”. 
  • Практический пример миграции конфигурационных данных между проектами.
  • Изменения, касающиеся разработчиков.
  • Функциональная схема системы конфигурации.
  • Дополнительные модули, функционал, который должен войти в ядро.
  • Flame.
  • Всё.

Описание доклада.
Конференция будет проходить 7 - 8 июня в гостинице "Турист", которая располагается по адресу: ул. Р. Окипной, 2 (100 метров от ст. метро «Левобережная»).

понедельник, 3 июня 2013 г.

Удалить муссор, GIT.

Git работает с изменениями, а не с файловой системой(основной принцип, но без неё никуда), проекты живут в фалойвой системе. Часто при длительной работе в ряде различных ситуаций появляються "жирные следы" от "немытых рук" в коде. Надо всё почистить!
git clean -d -x -f  
Очистка рабочего дерева вместе с папками(-d) untracked files (-x) без вопросов (-f) (осторожно - удалится вся ваша работа!!!)
Полезно переодически запускать на рабочем экземпляре проекта.
Всё нужно делать обдуманно, аккуратно.