Блог хеллоуворлдщика

Делаем блоки одной высоты

Когда по каким-то причинам вы не можете сделать колонки одной высоты, на помощь приходит - Javascript! И опять же, зачем нам велосипеды, ведь Вася взял и сделал форк одного расширения, пофиксил баги и добавил в список пакетов Bower для установки через консоль, чтоб ничего копировать и тыкать туда-сюда не пришлось? Бери и пользуйся! Всё просто. =)

GitHub: https://github.com/bupy7/jquery-equal-height

Также, советую посмотреть это.

Читать далее

Ajax фильтр для Yii2

Все помнят, в Yii1 была возможность фильтровать доступ к экшену, если запрос не через ajax, например. В Yii2 такой возможности из коробки нет. Есть только фильтрация, которая проверяет через какой Http-метод был выполнен запрос и какой разрешен. Да и в общем-то такая возможность на проверку Ajax это или не Ajax не особо нужна, но, сволочь, нужна. Поэтому со временем и мне понадобилось. Я сразу не стал писать велосипед, а поискал на GitHub. Нашел там велосипедистое решение, которое потом форкнул и переписал. Получилось норм, поэтому можете пользоваться на здоровье! =) Жми сюда!

Читать далее

Простой и мощный текстовый редактор для Yii2 использующий парсер BB-кода и фильтр HtmlPurifier

В связи с тем, что потребовалось реализовать свой редактор с индивидуальной разметкой я сначала посмотрел в сторону wisiwyg Imperavi, попробовал его расширить, и пришёл к выводу, что в моём случае он не подходит, т.к. обычный пользователь может навставлять такое огромное количество лишний HTML тегов, что это приводит к тому, что всё съезжает. Да и вообще, мне лично никогда wisiwyg не нравились, очень сложно уследить за тем, чтобы разметка была корректна и правильная, что не скажешь, например о Markdown или обычным редактором на BB-кодах.

Читать далее

Деплой на сервер с Git

Итак, шо це? на самом деле всё очень просто. Нам не нужно будет чо-то там ставить, устанавливать, заниматься сексом с документаций и т.д. и т.п. Всё. Очень. Просто.

Во-первых, у вас должен быть полный доступ к серверу через SSH используя который вы должны будете установить Git и прочие приблуды, например, Composer и Bower, а может быть еще что-то, для того, чтобы у нас всё автоматически собиралось после того, как мы "запушим" (push) на сервер код.

После того, как вы выполните всё указанные действия, вся работа по развёртыванию на сервере проекта будет сводится к команде:

git push server master

и всё. Вся работа. =)

Читать далее

Слайдер для Yii2 на основе FlexSlider

Этот слайдер является обычный обёрткой для FlexSlider и не более. Взять его можно в моём репозитории https://github.com/bupy7/yii2-flexslider . Так же на Packagist. Устанавливается через Composer. Всё просто и ясно. Без пантов. =)

Читать далее

Зачем нужен Bower? Как использовать Bower? Введение в Bower.

Зачем нужен Bower и с чем его едят - наверно, каждый, кто в первый раз сталкивается с ним, задаётся этим вопрос. Bower, это такой же пакетный менаджер, как и Composer, но для Javascript, а не PHP, который очень сильно упрощает работу с пакетами. Из преимуществ следует отметить то, что мы легко можем получить любой пакет, а так же обновить его до последней версии.

Стоит отметить то, что время, когда всё делать ручками - ушло. Давайте уже использовать современные методы и технологии. Для некоторый это, возможно будет сложно, но такие вещи как Composer или Bower - прекрасны.

Читать далее

О Macbook Air 2014

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

В сети я находил подобные статьи, но кроме как какого-то смакования и чесания языком — ничего не находил. Здесь же я остановлюсь на сути.

Читать далее

Рандомизация. Генерация случайных чисел.


Нижеописанное относится к PHP и все примеры приводятся для этого языка.

На пути моём богатырском встала задача реализация рандомизации. Ранее опыта не имел, но знал, что встроенная рандомизация шлак. По сути, да, она работает, но не так, чтобы очень. Хотя, притензий, как программист, я к ней не имею. Но, как юзверь - да. Самая главная проблема, это отсутствие "логики". И как бы, херали она там вообще должна быть? Именно её отсутствие и создаёт некоторые проблемы на практике.

Читать далее

Кадрирование изображения до загрузки на сервер для Yii2

Это реализация и улучшение виджета для Yii2 представленного здесь ранее мной для Yii первой версии. Данный виджет потерпел некоторые изменения, а именно:

  • Дизайн кнопок. =)
  • Добавлен параметр ratio в передачу информации о кадрировании.
  • Добавлена возможность изменение размера рамки для кадрирования.
  • Добавлено автоматическое центрирование рамки для кадрирования.
  • Исправлены некоторые недочеты.
  • Возможность кадрировать по нескольким параметрам за раз. (К примеру, как в ВКонтакте).
  • Возможно использовать свой view для виджета.
  • Возможность изменения размера кадрирования налету.

Ссылка на виджет и инструкция по установке и использованию на GitHub https://github.com/bupy7/yii2-widget-cropbox

Ссылка на Packagist https://packagist.org/packages/bupy7/yii2-widget-cropbox

Читать далее

Первые короткие заметки о Yii2

Основательно поработав первую неделю с Yii2 Framework я готов поделиться с вам некоторыми заметками, которые, возможно, будут некоторым полезны.

Алиасы в advanced шаблоне приложения

Скажу честно, с advanced я не работал, но после того, как потребовалось разделить как можно лучше приложение на "кусочки", и обсудив вопрос о структуре моего нового проекта с всеми уважаемым Александром Макаровым - я разделил приложение на несколько самостоятельных частей, которые, по сути, от друг-друга не зависят. После этого, я взглянул на advanced шаблон и был сильно удивлён, когда нашёл схожесть со своим. Что меня больше всего удивило, дак это наличие алиасов backend в backend и frontend в frontend, и вопрос: нафига, когда app указывает на текущую активную часть приложения?! А оказывается есть причина, по которой мне позже пришлось сделать точно так-же: иногда требуется подключать какие-то классы заведомо не зная в какой части приложения мы находимся, поэтому просто прописав backend\to\class\Class мы можем не заморачиваться. Ну и ещё, как совет, всегда начинайте namespace с алиаса части приложения в которой он находится, если это возможно. т.к. ограничите себя от других проблем в ходе разработки.

Читать далее