Never-Stop-Learning

Список для сохранения, т.к. убрал из резюме. Есть мнение, что это ни кому не интересно. :)

Сюда входит только то, что относится к ИТ, специализации и работе. Но я читаю литературу и в других областях. Полный список тут: https://www.livelib.ru/reader/seyfer/
Сюда не входит куча документации и мануалов из интернета.

Читать далее

Что делать с ошибкой php – open_basedir restriction in effect ?
Она может возникнуть на любой cms, фреймворке или в самописном коде. Лично у меня проявилась при деплойменте на сервер.
Все дело в том, что у меня на локалке nginx, а на сервере apache2.

Читать далее

Интересно, сколько строк кода в вашем проекте? В моем случае я считаю для PHP.

Используется фреймворк Kohana. Сам фреймворк и модули засунуты композером в vendor/, поэтому я конечно же считаю только application/, только самописный код.

Читать далее

Достаточно избитая во всевозможных блогах, в постах на хабре тема. Даже на офф сайте Mysql даны разъяснения и достаточно пруф линков. И все же есть несколько граблей, на который можно наступить, о которых мало где написано.

Читать далее

Определение термина Ортогональность в ООП. Я же читаю 3-е издание в бумажном виде.

 

1002134878

Ортогональность кода.

Потрясающее сочетание компонентов с чётко определёнными обязанностями наряду с независимостью от более широкой системы иногда называют ортогональностью. Ортогональность способствует повторному использованию кода, поскольку готовые компоненты можно включать в новые системы, не делая ни какой специальной настройки в них.
Такие компоненты должны иметь чётко определённые входные и выходные данные, независимые от какого-либо более широкого контента. В ортогональный код легче вносить изменения, поскольку изменение реализации будет реализовано тем компонентом, в который вносятся изменения. И наконец, ортогональный код безопаснее. Последствия ошибок будут ограничены в определённом контексте. В то же время ошибка в чрезвычайно взаимозависимом коде может легко “ударить” по более широкой системе.

 
PHP объекты, шаблоны и методики программирования. 2-е издание. Мэт Зандстра.

 

В данный момент разрабатываю проект на Kohana. В этом проекте не малую роль играют задания выполняемые через cron. Еще не имея опыта работы с cron и Kohana я думал, что скрипты можно вызывать напрямую, а в контроллере делать проверку Kohana::$is_cli для определения вызова cli. Но как выяснилось существует модуль с версии 3.0, который эволюционировал и в 3.3 стал частью поставки Kohana по умолчанию.
Проблема в том, что Kohana 3.3 внесла некоторые изменения в свой autoload, которые несомненно более удобны. Теперь не обязательно писать классы с заглавной только первой буквой и не обязательно именовать файлы и папки в нижнем регистре. Теперь можно писать так Kohana_CLI, Class_InvalidTask и еще так InvalidTask.php.

Для прикрутки module Minion сначала я хотел было воспользоваться версией для 3.2, которая была загружена Zeelot3k в теги модуля на git. Но там оказалась поделка из более ранней 3.1. В ней используется bash скрипт для вызова index.php с параметрами, когда как в 3.3 minion просто обертка для модуля. Выложенное решение для 3.2 по моему не рабочее, по крайне мере я так и не смог запустить свой task.

После я копировал модуль с 3.3 версии.
Для запуска модуля необходимо переименовать все файлы в директории minion в нижний регистр, включая папки. так же исправить имена файлов и классов по правилам именования Kohana 3.2, т.е. Kohana_CLI на Kohana_Cli и InvalidTask в Invalidtask.
Далее подключить модуль как обычно в Kohana::modules() и исправить index.php в конце на следующий код

И все, должно работать. Создаем в папке /classes/task файл welcome.php с кодом

Далее вызываем.

Темы с вопросами о minion с официального форума:
1
2
3

Так же в решении вопроса мне помог блог участника сообщества biakaveron.
У него можно почитать про модуль подробнее.

GIT REPO: https://github.com/seyfer/minion

UPD: 2014-11-28

Сейчас я пользуюсь стандартным minion для версии 3.2, т.к. у меня возникли некоторые проблемы с совместимостью с другими модулями.
Поэтому я описал пакет вот так

И подключил его в require, а мой портированный с 3.3 удалил. Проект на 3.2. и отлично все работает.

Просто заметка, для сохранения кода и ссылок.

Пользовался в движке не на фреймворке вот этим:

Взято отсюда: http://stackoverflow.com/questions/277224/how-do-i-catch-a-php-fatal-error

Вставил код и автоматически хочу нажать ctrl+f – это форматирование кода в нетбианс. Далее был бы ctrl+s …

Для более продвинутого отлова ошибок можно заценить на примере Kohana в этой теме на kohanaframework.org.
Создавалась мной, хотя ответ был дан в другой теме намного ранее. Не все было понятно.

В двух словах всевозможные ошибки перенаправляются на обработку в свой класс

Ну а далее на контроллер.