Пришла мне тут как-то мысль освоить PHP, а, как известно, лучший способ изучить язык – это создать на нем велосипед фреймворк. При ковырянии в различных форумах и топиках заинтересовала меня одна методология, которую пропагандируют в уважаемой компании «Яндекс» — БЭМ. Кто ещё не в курсе этой методологии, почитайте на официальной страничке. Так же на Хабре есть публикация «Верстка для самых маленьких. Верстаем страницу по БЭМу» от читателя xnim, в котором все объяснятся на конкретном примере. «Яндекс» написали свои модули и скрипты сборки проектов, однако выполнены они все на Node.js, а вот на PHP обнаружить что-то подобное мне не удалось (хотя, признаюсь честно, я особо и не искал). К тому же, PHP, как объектно-ориентированный язык, дает интересные возможности.
Рубрика «php» - 134
BemPHP: реализация методологии БЭМ средствами PHP
2015-02-03 в 15:34, admin, рубрики: framework, php, БЭМ, веб-дизайн, велосипедостроение, верстка, ооп, яндексСвоя браузерка — путь мыши: начало
2015-02-03 в 15:07, admin, рубрики: game development, ogame, php, браузерка, браузеры, веб-дизайн, Веб-разработка, игра, супернова Эта история началась пять с половиной лет назад — когда к простому непростому работнику всехххххххххх регионального провайдера «Тхххххх» «Схххххх» обратился один из пользователей, предлагая поднять в локальной сети клон игры Ogame на движке «xNova 0.8b RageRepack». Как раз в то время «Схххххх» активно занималась созданием собственных ресурсов — собственный DCHub, свои сервера Counter-Strike (по лицензии Valve!), свой WSUS и даже свой репозиторий для основных Linux-дистрибутивов — не упоминая тех ресурсов, которые могут вызывать вопросы у компетентных органов. Ибо зачем упоминать того, чего не было и быть не могло?
Работнику мысль показалась весьма интересной. Любопытный ресурс на интересную тематику, да еще и вполне уникальный в пределах региона. Почему бы и нет? Были выделены соответствующие мощности, настроены аккаунты, развернуты пакеты… Ну, вы должны себе представлять сопутствующую мутотень да еще и пять лет назад.
Вскорости выяснилось пара неприятных подробностей. Вышеозначенный пользователь разбирался в движке чуть менее, чем никак, поэтому вся тяжесть ТП легла на вышеупомянутого работника. А когда выяснилось, что… мнэ… «монетизировать траффик» от пользователей в то время не представлялось возможным, то и интерес у означенного пользователя угас очень быстро. Но — ущерб уже был нанесен. Вышеупомянутый работник распробовал яд PHP и втянулся…
Читать полностью »
Буфер вывода в PHP
2015-02-03 в 8:05, admin, рубрики: php, web-разработка, Блог компании Mail.Ru Group, Веб-разработкаВ этой статье я хочу рассказать о том, как реализован слой «буферизации вывода» в PHP, как работает и как с ним взаимодействовать из PHP. В этом слое нет ничего сложного, но многие разработчики либо совсем не понимают, как с ним обращаться, либо не имеют полной ясности. Всё, о чём я буду писать, относится к PHP версии 5.4 и выше. Именно начиная с неё изменились многие вещи, связанные с буфером вывода (БВ). По сути, этот функционал был полностью переписан, поэтому совместимость с версией 5.3 сохранилась лишь частично.
Что такое буфер вывода?
Поток вывода в PHP содержит байты, обычно в виде текста, которые разработчику надо вывести на экран. Чаще всего для этого используется конструкция echo или printf(). Во-первых, нужно понимать, что любая функция, которая что-то выводит, будет использовать БВ из области PHP. Если говорить о расширениях для PHP, то можно получить доступ к функциям, пишущим в SAPI напрямую, в обход любого вышерасположенного БВ. API C задокументировано в lxr.php.net/xref/PHP_5_5/main/php_output.h, отсюда можно почерпнуть немало информации, например, о размере буфера по умолчанию.
Второй важный момент: слой БВ является не единственным слоем, в котором буферизуются выводимые данные.
И третье: в зависимости от SAPI, который вы используете (веб или cli), слой БВ может вести себя по-разному.
Ниже представлена схема, которая поможет понять всё вышесказанное:
Templater — менеджер шаблонов и твикер для MantisBT
2015-01-30 в 19:37, admin, рубрики: bugtracker, css, design, github, html, javascript, jquery, mantisbt, php, plugins, templates, багтрекеры, плагины, шаблоны
MantisBT — это открытое серверное веб-приложение для управления проектами и задачами аля Redmine. В прошлой своей статье я рассмотрел актуальную для этого проекта проблему — отсутствие шаблонов и угрюмость интерфейса. Вот линк на предыдущий пост. После всех обсуждений я решил развивать тему, и написал плагин для MantisBT, с помощью которого можно применять пользовательские шаблоны оформления. Собственно представляю вам этот плагин — Templater v1.0.
Читать полностью »
Блокируем блокировку от Роскомнадзора
2015-01-30 в 12:06, admin, рубрики: php, блокировка, блокировка сайтов, информационная безопасность, ит-инфраструктура, Роскомнадзор, хабрахабр Когда в очередной раз переадресовываешься на страницу от провайдера, с предупреждением о том, что доступ к запрашиваемому сайту заблокирован, и приходится вручную вытаскивать URL сайта, задумываешься об автоматизации этой рутинной деятельности.
В моём частном случае речь пойдёт о блокировке от Билайна, чтобы избавится от её назойливости нам понадобится веб сервер, подойдёт установленный на локальной машине. Билайн перекидывает нас на страницу blackhole.beeline.ru/?url=...., где в переменной url в закодированном urlencode виде содержится наш адрес. Копировать, и декодировать его каждый раз руками достаточно скушное дело, поэтому мы попробуем использовать нашу эволюционную особенность — мозг.
Читать полностью »
Обновление облачной платформы Jelastic 2.5 — масштабирование на лету
2015-01-30 в 7:09, admin, рубрики: cloud, java, jelastic, php, reg.ru, Блог компании REG.RU, Облачные вычисления, облачные сервисы, облачный хостинг, хостинг
Jelastic — это универсальная облачная платформа, которая совмещает в себе архитектуры PaaS (платформа как сервис) и IaaS (инфраструктура как сервис). На Jelastic можно за несколько минут развернуть окружение Java, PHP, Ruby, Python или Node.JS и запустить в нём настроенное и готовое к высокой нагрузке приложение. При этом возможность деплоя через GIT, SVN, а также плагины для IDEA, NetBeans, Eclipse позволяют тратить ещё меньше времени на деплой и больше на разработку.
В этой статье мы расскажем об одном из последних обновлений этой платформы — 2.5, которое добавило ряд интересных возможностей.
Читать полностью »
Статический анализ PHP кода на примере Symfony2
2015-01-27 в 12:20, admin, рубрики: php, web-разработка, Веб-разработка, статический анализ кодаАннотация
О необходимости статического анализа в больших проектах уже писали не раз и, в основном, с фокусом на строго типизированные языки, например, здесь и здесь.
С PHP дело обстоит сложнее: уже писали про статический анализ PHP кода, но в целом инструментарий тут гораздо беднее, и динамическая природа языка делает процесс разработки-тестирования сложнее. Для сравнения, в той же Java компиляция проекта сама по себе помогает найти ошибки, а в PHP типизация слабая, поэтому даже тесты могут пропустить ошибки.
Читать полностью »
Развитие KodiCMS
2015-01-27 в 12:10, admin, рубрики: cms, kodicms, Kohana, php, Блог компании KodiCMS Всем привет. С момента написания последней статьи в системе произошло много изменений, о которых хотелось бы рассказать.
Читать полностью »
PHP-Дайджест № 55 – интересные новости, материалы и инструменты (11 – 25 января 2015)
2015-01-26 в 10:50, admin, рубрики: HHVM, laravel, php, PHP 7, PHP RFC, symfony 2, yii 2, Zend Framework 3, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Получаем список участников сообщества ВКонтакте определенного пола и возраста
2015-01-26 в 9:06, admin, рубрики: api vk, curl, file_get_contents, php, Вконтакте API, участники группыНа создание данной статьи я был вдохновлен публикацией «Получение участников сообщества vk.com за считанные секунды». Моя статья написана новичком и отражает опыт решения одной задачи. Основная цель написания этой статьи для меня — собрать мнения, отзывы и критику примененного подхода от более опытных коллег. Кроме того, надеюсь, что кому-то приведенная здесь информация будет полезна.
Не так давно в одном из тестовых задания на вакансию младшего php-программиста мне попалась простая, но интересная для меня задача.
«Сделайте скрипт на php, который возвращает список id пользователей «ВКонтакте», разделенный символами перевода строки, которые являются мужчинами старше 25 лет и состоят в группе vk.com/habr».
Читать полностью »