Хм, однако я приятно удивлен. По результатам голосования, практически половина программистов не довольны чем-то в «верном пути» и существующих трендовых фреймворк. Да, откройте же глаза! Уже прошло много лет жизни PHP, а хорошего пути в PHP нет до сих пор. Голосование по-видимому здесь анонимно, люди честно голосуют. В комментариях же боятся быть уличены в невежестве…
Предложение для сайта HABRAHABR: сделайте, чтобы было можно писать анонимно комментарий зарегистрированным пользователям — жизнь предстанет в другом цвете. Да… некоторые люди, тогда будут пробовать писать плохие «каки». Нужно, чтобы авторы комментариев были предупреждены, что за нецензурную лексику — в этом случае, просто могут потерять аккаунт. А за честное мнение, не будут «заминусованы»…
Мне уже кажется, что на этом уважаемом сайте, просто имеются люди, следящие за хабами и в маркетинговых целях подавляют иные подходы, не соответствующие желаемым. Т.е. это их рабочее задание. «PHP right way» в это случае о-о-очень тонкий маркетинговый ход. Это просто вирус, поразивший программистов.
Я честно говорю, я трудился над тем, чтобы в статье не было грамматических и прочих ошибок, материал был легко понятен, несколько (довольно много) часов. Могу я вас попросить, в дань уважения моей работе, давайте не будем здесь употреблять слово «троль» и «велосипед». Я не прошу вас больше не о чем.
Мне искренне жаль, что материал показался многим сложен для чтения. А вот большой процент людей, не вникшим ни в какую суть, но желающих покритиковать, огорчает.
А где вы там видите коллективную разработку кода, в том смысле, который упоминается в статье? У вас есть идеальный framework, над мельчайшими деталями которого потрудилось множество людей? Жаль, что никто не понял материал статьи, я честно старался быть максимально лаконичным. Посмотрите результаты голосования в этой статье — довольно много людей хотят что-то исправить в framework с которыми работают. Если бы существовал сайт достигший цели X, таких людей бы не было. Они либо прояснили свое понимание вещей, либо их идея была использована для совершенствования framework.
Я не PHP сюда пришел преподавать, ваш вопрос — оффтоп, но отвечу так и быть: yeild не имеет ничего общего с тиками. Их логика совершенно не взаимосвязана. И если «пропускается тик» то это просто кандидат в «todo list» разработчикам PHP, это просто их недоработка. И в этом ничего сложного нет, если вы программируете на симфони и не понимаете этого, то мне жаль ваших заказчиков. Несмотря на неоспоримые достоинства языка PHP — посмотрите за занавес и прочтите статью PHP: фрактал плохого дизайна
М-да… А что такое CRM? Не веб ли приложение? Те приложения, которые ориентированны для работы в локальных сетях или на локалхосте даже, не имеюют ли часто demo в паблике? Я употребил слово «сайт» где-то, вместо «веб-приложения» и это вас ввело в конфуз? От чего же?
вы не поняли, почему я использую eval. Анонимные функции я так же использую, это совсем другое. Если вы у меня в коде увидели create_funcion() и не поняли почему там не используется замыкание, то ответ прост — это непринципиально. Если вы программист PHP скачайте код из видео на главной, посмотрите немного внимательней код
нет самоцели применять много eval, но он иногда сильно упрощает вид кода, вплоть до тривиально простого вида. Вы используете eval, если знакомы с проблемой?
Глобальные переменные доступны через инструкцию global, вы говорите о недостатках SKY Framework или о другом? В SKY Framework (текущем) eval имеет доступ ко всему что нужно.
Ваши пункты 1,2,4 — это один пункт. Замечание впросак, не готов дать ответ. Плюс нужно сравнить быстродействие готовых эквивалентных приложений. За счет того что в Symfony не используется eval, а КПИ имеет известную тяжелую архитектуру, я не думаю, что будет выигрыш в производительности.
Ошибки нормально, как обычно обрабатываются. С этим нет проблем.
ООП — величайшее достижение в программировании. Практически весь код третьего крыла должен быть написан с использованием классов, так как логически неверно выполнять редко используемый код в процедурном стиле. В коде coresky (3 файла о которых я писал) также есть 4 класса. А вот запросы к БД лучше делать с помощью функции-обертки sql(), так как она чрезвычайно часто используется. А вот, когда фреймворк предлагает использовать метод класса для запросов к БД — это идеологическая прихоть, имеющая мало общего с объективной реальностью. Разработчики языка могли бы просто выделить имена, которые можно применять для функций фреймворк, с той целью, чтобы они никогда не пересеклись с новой версией языка. Это сделать им чрезвычайно просто. Просто задекларировать у себя на сайте.
Идеология SKY подразумевает в codebase разный код. База кода — это некоторое подобие композер и пакажист. Вы можете туда загрузить этот код.
Я только что установил PHP 7 — все нормально работает. Вроде бы в «right way» у вас short_open_tag должен быть Off — включите его, возможно в этом дело.
Идеология SKY подразумевает коллективную работу над одними и теми же файлами. Кто угодно, может улучшить в том числе наиболее часто употребимый файл — main/sky.php. У вас же:
структура наименований классов — имя вендора/имя пакета/пространство имен пакета/название класса
такая идеология скоро создаст на пакажист помойку и будет трудно найти хороший пакет так как будет представлено много альтернативных. Имя вендора не имеет ничего общего по отношению к функционалу который он предоставляет, поэтому не должно быть включенно в названии.
Если бы вы «изучили инструмент», то поняли бы, что работа с двумя БД одновременно не является частым случаем (точно менее 30% покрытия) и поэтому в clear-cloud файл не включена. Мое видение, если вам нужно работать с postgresql — просто меняете файл main/sky.php который является портом файла для mysql (clear-cloud). Если работаете с 2 БД одновременно (как раз я работал на Zend так, и считаю их решение уродливым), то вы подгружаете файл третьего крыла (редко употребимый код) и автозагрузчик его использует.
При работе с 2 БД, как правило 1 БД основная и с ней удобнее работать так же как и в приложениях с 1 БД.
ваш «тривиально простой код» не работает в 7й версии, а активная поддержка 5.6 закончится в конце этого года, что делает ваш код не особо пригодным к продакшну. И не думаю, что ваш код будет очень быстрым, сравните производительность с phalcon.
Это просто моя (согласен важная) недорабока, которая будет исправлена. Мы сейчас говорим, о фундаментальных вещах, об общем подходе, стратегии и архитектуре. С вашей стороны глупо, простите, приводить как аргументы то что вы написали. SKY Framework также несложно упаковать как расширение для PHP, переписать на С/C++ и только тогда уж нужно меряться по производительности с phalcon.
Предложение для сайта HABRAHABR: сделайте, чтобы было можно писать анонимно комментарий зарегистрированным пользователям — жизнь предстанет в другом цвете. Да… некоторые люди, тогда будут пробовать писать плохие «каки». Нужно, чтобы авторы комментариев были предупреждены, что за нецензурную лексику — в этом случае, просто могут потерять аккаунт. А за честное мнение, не будут «заминусованы»…
Мне уже кажется, что на этом уважаемом сайте, просто имеются люди, следящие за хабами и в маркетинговых целях подавляют иные подходы, не соответствующие желаемым. Т.е. это их рабочее задание. «PHP right way» в это случае о-о-очень тонкий маркетинговый ход. Это просто вирус, поразивший программистов.
Мне искренне жаль, что материал показался многим сложен для чтения. А вот большой процент людей, не вникшим ни в какую суть, но желающих покритиковать, огорчает.
нет. я писал о идеальном коде разрабатываемом коллективно.
Глобальные переменные доступны через инструкцию global, вы говорите о недостатках SKY Framework или о другом? В SKY Framework (текущем) eval имеет доступ ко всему что нужно.
Ваши пункты 1,2,4 — это один пункт. Замечание впросак, не готов дать ответ. Плюс нужно сравнить быстродействие готовых эквивалентных приложений. За счет того что в Symfony не используется eval, а КПИ имеет известную тяжелую архитектуру, я не думаю, что будет выигрыш в производительности.
Ошибки нормально, как обычно обрабатываются. С этим нет проблем.
Я только что установил PHP 7 — все нормально работает. Вроде бы в «right way» у вас short_open_tag должен быть Off — включите его, возможно в этом дело.
Вы просто троллите меня? )
такая идеология скоро создаст на пакажист помойку и будет трудно найти хороший пакет так как будет представлено много альтернативных. Имя вендора не имеет ничего общего по отношению к функционалу который он предоставляет, поэтому не должно быть включенно в названии.
Если бы вы «изучили инструмент», то поняли бы, что работа с двумя БД одновременно не является частым случаем (точно менее 30% покрытия) и поэтому в clear-cloud файл не включена. Мое видение, если вам нужно работать с postgresql — просто меняете файл main/sky.php который является портом файла для mysql (clear-cloud). Если работаете с 2 БД одновременно (как раз я работал на Zend так, и считаю их решение уродливым), то вы подгружаете файл третьего крыла (редко употребимый код) и автозагрузчик его использует.
При работе с 2 БД, как правило 1 БД основная и с ней удобнее работать так же как и в приложениях с 1 БД.
Это просто моя (согласен важная) недорабока, которая будет исправлена. Мы сейчас говорим, о фундаментальных вещах, об общем подходе, стратегии и архитектуре. С вашей стороны глупо, простите, приводить как аргументы то что вы написали. SKY Framework также несложно упаковать как расширение для PHP, переписать на С/C++ и только тогда уж нужно меряться по производительности с phalcon.