Метка «PHP» - 8

Привет.

Germany Blue CardВ этом посте я хочу подробно рассказать о моём опыте переезда на работу PHP-разработчиком в Германию — от момента, когда есть просто желание переехать, но не знаешь что и как делать, до момента, когда уже переехал, вселился в квартиру и получил вид на жительство. Кроме того, в конце поста я приведу немного полезной информации и ссылок по переезду в некоторые другие страны.

Ещё с универа я понимал, что в Украине ловить нечего и надо валить. В течении нескольких лет я исследовал вопрос эмиграции: читал блоги, форумы, сообщества, общался с друзьями и знакомыми, которые могли мне рассказать что-то новое и, естественно, за это время, учитывая и сам переезд, у меня накопился определённый багаж информации, которым и хочется поделиться.

Итак, если вы имеете IT-шное образование и вам интересна идея сваливания из печальной пост-совковой реальности, прошу под кат.
Читать полностью »

Представляю вам свой open-source проект — JPHP. Это альтернативная реализация PHP для JavaVM с поддержкой JIT. Я начал проект в одиночку в октябре 2013 года и за 4 месяца реализовал компилятор php в байткод JVM. Язык поддерживается на уровне PHP 5.3, частично поддерживаются возможности PHP 5.4 и 5.5. По своей идеологии проект напоминает JRuby и Jython.

Я подготовил небольшую презентацию, которая расскажет о проекте и не отнимет у вас много времени:

Читать полностью »

Новый язык Hack является прямым потомком PHP, основанным на его синтаксисе. Hack создан специально для виртуальной машины HHVM (Hip Hop Virtual Machine). Команда Facebook полностью перевела разработку на новый язык и называет эту миграцию большим успехом. Однако Facebook не отказывается от поддержки PHP и планирует доработать поддержку PHP5 в HHVM.
Подробная документация по языку доступна здесь (на английском языке).
Официальный сайт нового языка — http://hacklang.org/.
Новость о релизе языка.
Читать полностью »

Дорогие хабропользователи.

Эра VPS и unmanaged серверов в самом разгаре, но в то же время появляются новые платформы, которые позволяют размещать приложения за пару кликов. Платформа Appnestic — одна из таких.

Предыстория

Мне, разработчику часто не хватало инструмента, который позволил бы быстро развернуть приложение, да так чтоб не возиться с хостингом, серверами, линуксами, мариядб и прочей инфраструктурой, настроить его и передать доступ клиенту. Также не хватало удобного DNS-менеджера зон, возможности настроить приложение и передать его клиенту, управлять приложением без ssh доступов и конфигурационных файлов.

Так родилась идея Apnnestic-а — платформы, которая позволяет загружать и обновлять код и запускать приложение. Сегодня мы находимся в beta-тестировании и я с радостью приглашаю вас протестировать наше решение и рассказать о своих впечатлениях и предложениях.

Читать полностью »

PHPixie framework
Пока еще только ведутся работы над третьей версией фреймворка PHPixie, но уже можно точно сказать что он сильно изменится в лучшую (как по мне) сторону:

  • Полный переход на стандарт PSR-2
  • Поскольку фреймворк будет являть собой набор библиотек, то его компоненты можно будет использовать в любом проекте без самого PHPixie.
  • 100% покрытия кода тестами. При чем в данном случае 100% не просто фигуральное слово а реально просчитанный «code coverage», то есть отношение строк которые вызываются при исполнении тестов ко всем строкам кода, кстати у Laravel это всего-лишь 53%.

Вчера стали доступны две библиотеки которые войдут в PHPixie 3, они полностью готовы и их уже можно использовать с любым проектом. Это сделано Подробнее об этом можно почитать в посте на сайте, а я здесь опишу то что мне больше всего в них нравится.

Читать полностью »

Я хотел бы обратить внимание на одну не очевидную особенность php.
Допустим у нас есть массив с целочисленными индексами

$arr = array( $val1, $val2, ..., $valn );

Этот массив можно перебрать в цикле двумя способами

foreach($arr as $k => $v ) {...}

и

$n = count( $arr );
for($k = 0; $k < $n; $k++ ) {...}

Кажется вполне очевидным, что второй способ должен быть, если и не быстрее, то уж точно не медленнее.
Давайте разберемся.
— Нет. Никаких бенчмарков. Только код! Читать полностью »

в 0:19, , рубрики: php, phpunit, tdd, метки: , ,

Последнее время я часто сталкивался с разработкой на Ruby и Ruby on Rails. О них говорить я не собираюсь. Но после возвращения к PHP кое-чего стало очень не хватать. Одна простая утилита, оказавшаяся отличным помощником для любого разработчика, который использует тесты. autotest запускает тесты на любое изменение в кодовой базе или тестах. Я попробовал поискать в Гугле и на Гитхабе аналог для PHP. Все решения, которые я нашел, были написаны либо на Ruby, либо на серверном JavaScript, либо на bash (хотя позже все же нашел решения и на PHP, которые, тем не менее, мне не понравились по разным причинам). Я являюсь сторонником мнения, что утилиты для разработки на каком-то языке должны быть написаны на нем же. Причин тому много, одна из наиболее значимых лично для меня — это возможность легко и непринужденно вносить какие-то правки и изменения в код самой утилиты (например, когда разработчик утилиты не реагирует на баг-репорт). Руки у меня зачесались, и я попробовал написать свою версию autotest для PHP. Результат можно посмотреть на Гитхабе.
Читать полностью »

Есть ли жизнь после кода?Что происходит с кодом после того, как он написан? Во многих областях разработки ПО его жизнь только начинается. Например, в разработке для веба, приложение исполняется где-то на сервере. Значит, после написания кода встаёт задача интегрировать его в приложение и доставить на конечную машину. Именно этот процесс мы сегодня обсудим.

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

Статья написана на основе материалов внутреннего семинара компании Аори, и рассказывает о принципах деплоймента на примере процесса, построенного у нас.
Читать полностью »

На хабре не раз поднимался вопрос важности SOLID, в частности принцип открытости/закрытости кода. В данном посте я расскажу как реализовать его на PHP и через какие испытания прийдётся пройти.

Что это такое?

SOLID — это совокупность пяти основных принципов дизайна классов в ООП. Одни из них и является принцип открытости/закрытости кода. Он гласит, что программные сущности должны быть открыты для расширения, но закрыты для изменения.
Читать полностью »

Совсем скоро произойдет обновление Облачной платформы InfoboxCloud Jelastic до версии 1.9.3. Платформа Jelastic в InfoboxCloud позволяет в 1 клик получать Java, PHP и Ruby окружения, необходимые SQL и NoSQL базы данных, кэш, VDS и не только.

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

К тому же реально работающее автомасштабирование позволяет вам использовать столько ресурсов, сколько необходимо приложению в конкретный момент времени и не платить за потенциально возможный максимум необходимых ресурсов.

В этой статье мы рассмотрим, что нам готовит обновление Облачной платформы InfoboxCloud Jelastic.
InfoboxCloud Jelastic
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js