• PHP-Дайджест № 122 (11 – 25 декабря 2017)
    0
    У amphp/parallel есть несколько драйверов для работы. Есть реализация на процессах и тредах. Для тредов нужен pthreads. Для процессов ничего не нужно.
  • Вышел PHP 7.2.0
    +1
    Никогда
  • PHP-Дайджест № 120 (1 – 19 ноября 2017)
    0
    Полностью согласен с вами.
    Мой основной посыл был именно в том что PHP сам по себе не течёт уже давно.
  • PHP-Дайджест № 120 (1 – 19 ноября 2017)
    0
    Memory leaks нет уже как с версии PHP 5.3.
    Хотя при желании их можно сделать самому. Но в целом сборщик мусора всё собирает нормально.
  • Точность через неточность: Улучшаем Time-объекты
    +1
    О какой библиотеке идёт речь?
    Автор предлагает написать простой ValueObject, что в целом очень удобно и даёт дополнительную проверку типов.
  • PHP-Дайджест № 101 – интересные новости, материалы и инструменты (15 – 29 января 2017)
    0
    Тут есть ещё фактор что foreach это конструкция языка, не функция. А вот each это функция. В том числе поэтому foreach более оптимально работает.
  • PHP-Дайджест № 101 – интересные новости, материалы и инструменты (15 – 29 января 2017)
    0
    Да foreach более универсальный, и это его плюс
  • PHP-Дайджест № 101 – интересные новости, материалы и инструменты (15 – 29 января 2017)
    0
    Думаю предлагают заменить конструкцией foreach
  • Блеск и нищета php. Эволюция языка от 4.x к 7.1
    0
    Особенно радует в этой статистике что указано за какой период она собрана.
  • Блеск и нищета php. Эволюция языка от 4.x к 7.1
    0
    Серебренной пули нет.
    Идеально в твоём случае попасть в хорошую команду, где есть люди с понимание и опытом.

    Вот я не очень люблю Yii, из за того что мне кажется он уж слишком мало пропагандирует best practics программирования, типа SOLID.
    При этом я не могу сказать что, например, Symfony это прям то что нужно что бы эти практики постичь.

    Идеально на мой взгляд писать код так что бы он не зависил сильно от фрэймворка. Т.е. когда вся бизнес логика заключена не в ActiveRecord модели, как часто бывает как раз в Yii, и не в контроллерах, а в отдельном месте, и уже для этой логики используется обвязка для использования фрэймвоком этого когда.
    А вот как это написать, может сказать только опыт и хорошая команда, в которой такие вещи можно обсудить.
  • Марсоход, Инициализация
    +1
    По моему игнорирование composer.lock в конечном коде, самое плохое что можно предложить.
    Этот файл фиксирует точные версии всех установленных пакетов, что бы при деплое, и при разработке можно было быть уверенным что новые версии будет соответствовать тем с которыми были выполнялись тесты.
    Иначе можно получить ошибки при деплое, так как версия пакета может отличаться от той с которой проводились тесты.
  • Вышел Upsource 3.5 с многочисленными изменениями
    +1
    Разработчики на PHP будут рады узнать, что Upsource теперь поддерживает Composer и внешние зависимости.

    Это точно, очень рады.
    Но я с ходу не смог понять как оно работает и куда нужно эти зависимости положить. И к сожалению не смог найти инструкции по настройке.
    Есть ли какое-то описание настройки этой функциональности?
  • Разработка сервера на php и системных скриптов
    0
    Дело не в успешности, и не в том что кто-то придёт на рынок вторым.
    Просто это объективно не нужные трудозатраты. Веб сервер это значительно больше чем то что есть сейчас в PHP. Это множество модулей, которые уже реализованы, и на реализацию которых потрачено множество человеко лет. Нет смысла писать это заново.

    > Разработчики php не ставят задачу написать вот сервер не для разработки
    Эта фраза о том что сами разработчики PHP не ставят себе задачу написать высокопроизводительный встроенный вебсервер. Так что в ближайшие 5 лет ждать координальных изменений не стоит.
  • Разработка сервера на php и системных скриптов
    0
    Разработчики php не ставят задачу написать вот сервер не для разработки. Уже есть nginx и новый никому не нужен.
  • Выпущен PhpStorm 2016.2
    0
    Это может быть обусловлено тем что sublime создаёт всплывающие окна иными средствами, и DE не считает их окнами. По типу того как можно просто нарисовать html окно.
  • Выпущен PhpStorm 2016.2
    0
    Это не проблема IDE, это лечиться настройками DE (Desktop Environment).
    Вангую что у вас выставлена раскладка на каждое окно. Можно выставить например на приложение или глобально, и проблема уйдёт.
  • В чем секрет скорости NodeJS?
    +4
    У нас на reactphp крутиться вся работа с очередями, вэб сокетами, таймерами и т.д.
    Работает отлично.
  • Создание блога на Symfony 2.8 lts [ Часть 6]
    0
    Да такой случай может быть, но это не проблема, ибо если у разработчика тесты проходят, а на CI нет, то понять что проблема в phpunit.xml не так сложно, и они тут же его приведут к общему виду. И снова нет проблемы, и снова всем удобно.

    Не баш, потому что это просто менее удобно.
  • Создание блога на Symfony 2.8 lts [ Часть 6]
    0
    Это очень просто. Например у нас есть CI и для него нужен специальный printer, и он должен включатся по умолчанию, что бы не делать лишних телодвижений. При этом большинство использует phpstorm для запуска тестов, и ему не столь важно какой по умолчанию стоит printer. Но есть человек который запускает тесты из консоли, и ему удобно использовать стандартный принтер для консоли, и вот что бы ему каждый раз при запуске тестов не прописывать нужный printer, он может положить рядом изменённых phpunit.xml который заменит при исполнении phpunit.xml.dist и будет использоваться, и теперь ему не нужно каждый раз дописывать опции при запуске тестов.
  • Подготовка к собеседованиям по PHP с использованием тестов (phpt) из исходников PHP
    0
    Вопрос о том как пользователи будут использовать ваш продукт очень важен, без этого нельзя. Но всё же при тестовом задании для от программиста(если говорить о бэкэнде) требовать таких вещей странно.
    И в первую очередь по тому что если разбираться как и кто будет использовать эту систему, то не может не возникнуть вопроса, а зачем писать своё? Есть ли готовые решения? А какую проблему должен решать наш продукт? А есть ли такая проблема? А кто пользователи? И так далее и тому подобное. В итоге ни одно тестовое задание не будет выполнено, ибо оно ни кому не нужно и не имеет смысла его делать.
  • PHP 7.1: Грядущие изменения
    +1
    А разве ассемблерные вставки поддерживать легче чем расширение на C?
  • Создание блога на Symfony 2.8 lts [ Часть 3 ]
    0
    Так же плохая практика использовать DateTime, лучше использовать DateTimeImmutable
  • SonataAdminBundle: создание объекта из List View (часть 2)
    0
    Если нужно просто отфильтровать список по правам, понятно что никакй пролемы нет. Я говорил как раз о другом случае.

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

    Как быть в таком случае?
  • SonataAdminBundle: создание объекта из List View (часть 2)
    0
    API+SPA это отличный подход. Но это не серебряная пуля.
    Например простейшая с точки зрения адмики вещь как проверка прав доступа к ресурсу, для отображения или нет в списке элементов, ссылки на редактирование или просмотр. Для такой простой вещи нужно передавать права либо вместе с ресурсами, либо отдельно, либо реализовывать первичную проверку на стороне фронта.
    И в этот момент этот простой CRUD уже не так элегантно выглядит в связке API+SPA.
  • Вышел Upsource 3.0 с поддержкой PHP, GitHub pull requests и не только
    0
    Как я понял тут вопрос в том можно ли как-то анализировать с учётом сторонних библиотек подключаемых через composer. Дело в том что зависимости устанавливаемые через composer не хранят в репозитории проекта.
    У нас получается так что анализ работает, но если встречается код зависимый от сторонних библиотек, то всплывает множество ошибок «такой-то класс не найден».
  • Как использовать именованные конструкторы в PHP
    0
    Если понять статичные методы "заменяющие" именованные конструкторы я могу, то вот вызывать что либо в себе эти методы никак не должны, тем более статические, ибо тут уже будет бешеная связанность кода, которую поддерживать будет вообще не возможно.
  • Badoo перешли на PHP7 и сэкономили $1M
    0
    Основное предназначение — что бы невилировать время бутстраппинга приложения

    По моему именно эту проблему человек хотел решить тем что у него будет 1 read-only объект в shared memory. Да в подходе php-pm будет несколько копий объекта на каждый процесс, но время на его чтение с диска будет потрачено 1 раз, на запуск сервиса, а не на каждый запрос.

    По поводу reactphp и amphp.
    Я пока глубоко не копал amphp, но на первый взгляд они с reactphp похожи, так как amphp так же построен вокруг event loop. Хотя реализация у них разная, основная идея по моему у них схожа.
    Так что я думаю что они будут развиваться параллельно.
  • Badoo перешли на PHP7 и сэкономили $1M
    –1
    Если хочется хранить только read-only объекты между запросами, то можно использовать reactphp, phppm или нечто подобное. Именно shared memory они не дают, но позволяют инициализировать окружение 1 раз и потом просто обрабатывать запросы.
  • Автоматическая работа с SMS на модеме ZTE-MF823
    0
    Смесь табов и пробелов, восхитительна!
  • Cобрать лучшее из двух миров — фреймворков и CMS (часть 3)
    0
    Стандарты кодирования, нужны что бы легко писать код, и не задумываться о стиле.
    Поясню, у вас все названия переменных через _, методов тоже, и вероятно ещё куча мелочей. И есть стандарт, которому все популярные библиотеки следуют, и большинство проектов в целом так же приходят к нему, все го знают. Я как рядовой разработчик тоже его знаю, и привык писать именно так, т.е. без задней мысли буду называть метод так: «someMethod», в IDE так же есть правила автоформата для стандарта, и эти часто пользуются люди, что бы не пропускать мелочи в стиле кодирования.
    И теперь когда я, захочу помочь в развитии вашего проекта, мне нужно будет переучиваться, перенастраивать окружение, переучиваться писать всё по стандарту. Это пустая трата времени, это ведь не несёт в себе ценности для меня, не даёт новых знаний, новых навыков. И многие тупо не будут помогать проекту если им нужно будет таким заниматься. И пойдут люди помогать другим проектам.

    Вот в кратце суть стандартов кодирования, зачем они и чем полезны.
  • Pagekit: обзор модульной CMS на базе Symfony
    0
    Да к сожалению от симфони там не так много.
    Плюс бегло глянув код, заметил несколько, на мой взгляд, странных решений.
    Одно из них это некий контейнер который реализует ArrayAccess, и собственно далее просто туда напихиваются значения, в том числе kernel, events, и т.д. Ну и используются так же. Это на мой взгляд не лучший способ.
    Но страшнее то что они, судя по всему, любят синглтоны, и статические функции, которые выделены в трэйты.
    Судя по всему тестировать такой код будет сложновато.
    Собственно и тестов у них не много. А для модуля kernel, нет вовсе, хотя думается мне это важная часть проекта.

    Честно сказать глянув в код, я несколько расстроен. И после этого очень скептически смотрю на будущее этого проекта
  • PHP 7.0.0
    +2
    Конечно не стоит.
    Строгой типизацией стоит называть режим строгой типизации который можно включить php.net/manual/ru/functions.arguments.php#functions.arguments.type-declaration.strict
    И я думаю SamDark именно его и имел ввиду.
  • Жизнь PHP-разработчика
    +1
    Как у вас получается соотносить синтаксис и строгую типизацию?
    Это две абсолютно не связанные вещи. Строгая типизация это не признак синтаксиса, это признак языка.

    По поводу кода, PHP написан на C, откуда там макросы из C++? На плюсах можно только расширения писать, но не основной код языка PHP.
  • Жизнь PHP-разработчика
    0
    Не могу не накинуть чуть справедливости по поводу постоянных коннектов php.net/manual/en/features.persistent-connections.php
    Они есть и очень очень давно.
  • Создание GUI приложений на PHP
    +2
    Ну для обфускации php кода можно использовать сторонние библиотеки специально для этого предназначенные (ZendGuard, ionCube, etc). Раз есть возмножность подключать php экстеншены, то можно использовать их.
    Плюс открытые исходники возможно привлекут сторонних разработчиков, так же этому поспособствует кроссплатформенность.

    На мой взгляд у проекта с открытыми исходными кодами больше шансов взлететь в подобной нише.
  • Создание GUI приложений на PHP
    +2
    Очень жаль что библиотека только для Windows.
    В статье не увидел упоминания об этом.
    А почему было принято решение жёстко привязываться к WinAPI? Всё таки одно из главных преимуществ Qt это его кроссплатформенность.
  • Создание GUI приложений на PHP
    0
    Интересно будет ли дальнейшее разве проекта. было бы крайне приятно иметь что то типа PyQt.
    А то все предыдущие библиотеки подобной направленности мертвы.
  • Scrum. Из хаоса к порядку и высокой продуктивности
    0
    Как правильно заметил автор статьи, вам вероятно стоит попробовать глубже разбирать задачи на планировании/грумминге. В этот момент как правило и будет достигнут какой-то компромисс.
    В этом процессе грумминг имеет очень важное значение, так как позволяет уточнять различные детали до планирования и уже на планировании можно +- определиться с тем как новая функциональность должна работать.
  • Новое в Runkit 1.0.4: PHP 5.6+, closures везде и еще 12 новых фич
    0
    В целом вы правы это на вкус и цвет.
    Но у runkit есть существенный минус в том что это отдельное расширение для PHP и его нужно ставить отдельно.
    И всего пол года назад я его поставить и вовсе не смог, а точнее не смог использовать, по причине сегфолтов. У AspectMock такого минуса нет.

    К слову не «как это происходит в Go-AOP», а собственно AspeckMock на Go-AOP и построен =)
  • Новое в Runkit 1.0.4: PHP 5.6+, closures везде и еще 12 новых фич
    0
    Что значит заглушки для функций? AspectMock как раз и позволяет мокать любые функции.
    В том числе стандартные функции PHP пруф