Новый язык Hack является прямым потомком PHP, основанным на его синтаксисе. Hack создан специально для виртуальной машины HHVM (Hip Hop Virtual Machine). Команда Facebook полностью перевела разработку на новый язык и называет эту миграцию большим успехом. Однако Facebook не отказывается от поддержки PHP и планирует доработать поддержку PHP5 в HHVM.
Подробная документация по языку доступна здесь (на английском языке).
Официальный сайт нового языка — http://hacklang.org/.
Новость о релизе языка.
Читать полностью »
Рубрика «php» - 159
Команда Facebook выложила в открытый доступ язык Hack
2014-03-22 в 15:57, admin, рубрики: Facebook, hack, HHVM, php, метки: Facebook, hack, HHVM, PHPЗнакомьтесь! Appnestic — хостинг-платформа нового поколения
2014-03-21 в 14:18, admin, рубрики: django, php, python, Блог компании Appnestic, облачный хостинг, хостинг, метки: Django, PHP, python, облачный хостинг, хостингДорогие хабропользователи.
Эра VPS и unmanaged серверов в самом разгаре, но в то же время появляются новые платформы, которые позволяют размещать приложения за пару кликов. Платформа Appnestic — одна из таких.
Предыстория
Мне, разработчику часто не хватало инструмента, который позволил бы быстро развернуть приложение, да так чтоб не возиться с хостингом, серверами, линуксами, мариядб и прочей инфраструктурой, настроить его и передать доступ клиенту. Также не хватало удобного DNS-менеджера зон, возможности настроить приложение и передать его клиенту, управлять приложением без ssh доступов и конфигурационных файлов.
Так родилась идея Apnnestic-а — платформы, которая позволяет загружать и обновлять код и запускать приложение. Сегодня мы находимся в beta-тестировании и я с радостью приглашаю вас протестировать наше решение и рассказать о своих впечатлениях и предложениях.
Уже можно использовать две новые библиотеки из будущей PHPixie 3
2014-03-17 в 14:56, admin, рубрики: framework, php, phpixie, web-разработка, Веб-разработка, фреймворк php, метки: framework, PHP, php-framework, phpixie, web-разработка, фреймворк php
Пока еще только ведутся работы над третьей версией фреймворка PHPixie, но уже можно точно сказать что он сильно изменится в лучшую (как по мне) сторону:
- Полный переход на стандарт PSR-2
- Поскольку фреймворк будет являть собой набор библиотек, то его компоненты можно будет использовать в любом проекте без самого PHPixie.
- 100% покрытия кода тестами. При чем в данном случае 100% не просто фигуральное слово а реально просчитанный «code coverage», то есть отношение строк которые вызываются при исполнении тестов ко всем строкам кода, кстати у Laravel это всего-лишь 53%.
Вчера стали доступны две библиотеки которые войдут в PHPixie 3, они полностью готовы и их уже можно использовать с любым проектом. Это сделано Подробнее об этом можно почитать в посте на сайте, а я здесь опишу то что мне больше всего в них нравится.
Сравнение производительности перебора массивов в цикле через for() и foreach()
2014-03-17 в 14:35, admin, рубрики: php, zend, производительность, метки: c++, PHP, zend, производительность Я хотел бы обратить внимание на одну не очевидную особенность php.
Допустим у нас есть массив с целочисленными индексами
$arr = array( $val1, $val2, ..., $valn );
Этот массив можно перебрать в цикле двумя способами
foreach($arr as $k => $v ) {...}
и
$n = count( $arr );
for($k = 0; $k < $n; $k++ ) {...}
Кажется вполне очевидным, что второй способ должен быть, если и не быстрее, то уж точно не медленнее.
Давайте разберемся.
— Нет. Никаких бенчмарков. Только код! Читать полностью »
Последнее время я часто сталкивался с разработкой на Ruby и Ruby on Rails. О них говорить я не собираюсь. Но после возвращения к PHP кое-чего стало очень не хватать. Одна простая утилита, оказавшаяся отличным помощником для любого разработчика, который использует тесты. autotest запускает тесты на любое изменение в кодовой базе или тестах. Я попробовал поискать в Гугле и на Гитхабе аналог для PHP. Все решения, которые я нашел, были написаны либо на Ruby, либо на серверном JavaScript, либо на bash (хотя позже все же нашел решения и на PHP, которые, тем не менее, мне не понравились по разным причинам). Я являюсь сторонником мнения, что утилиты для разработки на каком-то языке должны быть написаны на нем же. Причин тому много, одна из наиболее значимых лично для меня — это возможность легко и непринужденно вносить какие-то правки и изменения в код самой утилиты (например, когда разработчик утилиты не реагирует на баг-репорт). Руки у меня зачесались, и я попробовал написать свою версию autotest для PHP. Результат можно посмотреть на Гитхабе.
Читать полностью »
Есть ли жизнь после кода?
2014-03-13 в 14:09, admin, рубрики: continuous integration, deployment, fabric, gerrit, Jenkins, phing, php, Блог компании Aori, Программирование, разработка, метки: continuous integration, deployment, fabric, gerrit, Jenkins, phing, PHPЧто происходит с кодом после того, как он написан? Во многих областях разработки ПО его жизнь только начинается. Например, в разработке для веба, приложение исполняется где-то на сервере. Значит, после написания кода встаёт задача интегрировать его в приложение и доставить на конечную машину. Именно этот процесс мы сегодня обсудим.
Данный текст предназначен широкому кругу разработчиков и рассчитан на тех, кто мало знаком с процессом выкладки кода. Так же этот текст может быть полезен тем, кто строит систему деплоймента и находится в поиске идей.
Статья написана на основе материалов внутреннего семинара компании Аори, и рассказывает о принципах деплоймента на примере процесса, построенного у нас.
Читать полностью »
[PHP] Принцип открытости/закрытости кода и какие трудности могут встать на пути
2014-03-12 в 12:40, admin, рубрики: php, solid, Веб-разработка, ооп, метки: PHP, solid, оопНа хабре не раз поднимался вопрос важности SOLID, в частности принцип открытости/закрытости кода. В данном посте я расскажу как реализовать его на PHP и через какие испытания прийдётся пройти.
Что это такое?
SOLID — это совокупность пяти основных принципов дизайна классов в ООП. Одни из них и является принцип открытости/закрытости кода. Он гласит, что программные сущности должны быть открыты для расширения, но закрыты для изменения.
Читать полностью »
Обновление облачной платформы InfoboxCloud: Jelastic 1.9.3
2014-03-11 в 4:09, admin, рубрики: java, java ee, jelastic, mariadb, memcached, mongodb, mysql, php, postgresql, ruby, Блог компании Infobox, облачная платформа, метки: infoboxcloud, java, java ee, jelastic, mariadb, memcached, mongodb, mysql, PHP, postgresql, ruby, облачная платформаСовсем скоро произойдет обновление Облачной платформы InfoboxCloud Jelastic до версии 1.9.3. Платформа Jelastic в InfoboxCloud позволяет в 1 клик получать Java, PHP и Ruby окружения, необходимые SQL и NoSQL базы данных, кэш, VDS и не только.
При этом пользователь не попадает в абсолютную зависимость от поставщика платформы. Вы можете настроить все те же приложения на других серверах, просто в Jelastic этот процесс автоматизирован и вы не тратите время на настройку и поддержку инфраструктуры, получая необходимые компоненты для работы вашего ПО и сервисов — экономите деньги.
К тому же реально работающее автомасштабирование позволяет вам использовать столько ресурсов, сколько необходимо приложению в конкретный момент времени и не платить за потенциально возможный максимум необходимых ресурсов.
В этой статье мы рассмотрим, что нам готовит обновление Облачной платформы InfoboxCloud Jelastic.
Читать полностью »
Шаблоны проектирования PHP. Часть 1. Порождающие
2014-03-10 в 7:48, admin, рубрики: php, ооп, шаблоны проектирования, метки: PHP, ооп, шаблоны проектированияТема заезженная до дыр, не спорю… Вероятно, для опытных разработчиков моя статья будет мало, чем полезна. Я бы рекомендовал её к прочтению тем, кто только начал осознавать, что его коду чего-то не хватает, и что он созрел для вникания в это далёкое понятие – «паттерны». По себе помню, что довольно долгое время я путался в шаблонах, иногда даже не понимая, чем один отличается от другого. Именно этот факт стал основой для моей статьи. Примеры в ней не будут реальными. Они будут абстрактными и максимально простыми. Однако я постараюсь все примеры держать в едином контексте, чтобы можно было наглядно видеть отличия их использования в одной и той же ситуации. Я не буду нагружать классы лишним функционалом, чтобы можно было понять, какая именно часть кода имеет непосредственное отношение к шаблону. Главными героями примеров станут Factory (фабрика) и Product (продукт, производимый этой фабрикой). Возьмём это отношение за отправную точку. Возможно, в некоторых примерах это будет не очень уместно, но зато очень наглядно…
Статья будет разбита на несколько частей. В каждой я буду рассказывать о новом типе шаблонов проектирования. Всем, кого эта тема может заинтересовать, прошу под кат.Читать полностью »
Дайджест интересных новостей и материалов из мира PHP № 37 (24 февраля — 9 марта 2014)
2014-03-09 в 22:13, admin, рубрики: composer, HHVM, kphp, laravel, php, phpstorm, phpunit, ReactPHP, symfony 2, yii, zend framework 2, Zephir, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки, метки: composer, HHVM, kphp, laravel, PHP, phpstorm, phpunit, ReactPHP, symfony 2, yii, zend framework 2, Zephir, Веб-разработка, дайджест, новости, подборка, ссылкиПоздравляем всех девушек и особенно PHP-разработчиц с прошедшим праздником! Всяческих вам успехов, любви и тепла!
И конечно же, вашему вниманию очередная подборка ссылок со свежими новостями, полезными инструментами и интересными материалами.
Приятного чтения!
Читать полностью »