Как стать автором
Обновить
5
0
Евгений @Jackson88

Пользователь

Отправить сообщение
Как я понимаю, главная проблема как раз в том что он однопоточный, такая себе критическая секция. Изначально создавался более похоже на хак чтобы ускорить работу не слишком быстрых на то время подсистем хранения. При вытеснении из кеша он лочится целиком, потому для систем с частыми вставками/обновлениями скорость выборок может существенно падать и создаваться затыки.
Достаточно не простой вопрос, и подобные предложения не раз рассматривались собcтвенно разработчиками php. Видимо к единному стандарту они не пришли или же отложили эту тему. Собственно также важно понимать принцип работы интерпритатора — сперва происходит парсинг, выявить на этом этапе не синтакисческие ошибки не получится, после код уже интерпретируется в исполнимый байткод. Если аннотации добавить как структуры языка с определенными ключевыми словами — можем получать parse error при некорректом использовании, уже на этапе парсинга, но думаю список таких зарезервированных лексем языка может быть крайне большим и потеряет свой смысл. Думаю кроме такого варианта нет возможности выявить не на этапе выполнения. Конечно было бы очень не плохо даже на этапе выполнения получить к примеру E_STRICK при несоответствии аннотации содержимому метода (или как-нибудь иначе). Собственно php любой тип ошибок, связанный с выполнимым кодом, кроме parse error выявляет уже на этапе его выполнения(E_COMPILE и E_CODE не в счет, это ошибки другого характера).
Думаю просто потому что php к этому еще к этому не пришел (а может и не прийдет). Аннотации не являются встроенными возможностями языка, потому и приходим к их реализации через комментарии.
Да, именно пост. И цель его Вы описали куда лучше чем я. Вообщем, спасибо Вам за такой комментарий!
На самом деле всё не совсем так — лично мне просто очень импонирует то, что экшн контроллера лишь возвращает набор данных, а не создает, к примеру, объект респонса и делает что-то вроде echo или обертку над echo в ввиде send() в самом экшене, или же, как часто можно встретить в примерах реализаций подобное: echo json_encode($result);. Можно писать очень тонкие контроллеры, без дублирования стандартных операций, всю логику вынося, скажем, на сервиса.
А касательно роутинга — то это достаточно крутая возможность, которую, в тоже время, можно заменить на стандартную Phalcon\Mvc\Router, разграничив достпуп по типам http запросов в виде конфига, например:
$routes->addGet('/get');
$routes->addPost('/post');

При этом слегка ухудшив понятность кода, потому как, я думаю, Вы не будет спорить что с аннотациями код будет выглядеть как минимум красивее.
На счет профита и подводных камней. Собственно профит, как я уже написал выше, в совмещении функционала и красоты. А вот подводных камней, теоретически, они могут быть — Phalcon это расширение, продебажить реализацию не просто(разве в сишных исходниках), чтобы с уверенностью сказать что там все хорошо.
Парсинг основан не на, де-факто, стандартном подходе с Reflection, а на собственной с-шной реализации, работающей значительно быстрее Reflection + из коробки есть возможность кеширования результатов парсинга (например, Phalcon\Annotations\Adapter\Files для хранения результата в файле)
Я так понимаю, вы четко выразили свое мнение о свободном интернете, вам он точно не нужен.
Скорее Доктор Хаос
Анализ статистических данных, пересчет/определение рейтингов пользователей например.
В данном случае вы рассуждаете с точки зрения капиталистического мира, но есть же вероятность что социальный и экономический строй под воздействием технологий может изменится, когда, например, эти наемные рабочие будут получать хотя бы пособия за то что их места «автоматизировали», удерживаясь с компаний в виде налогов или как-либо иначе, тем самым эти рабочие будут вольны на научные изыскания, создания своих компаний, развития культуры и творчества в конце концов. Я надеюсь что будущее все же может быть светлым:)
Я думаю в данном случае телепортация работает по принципу клонирования, то есть воссоздается полный ваш клон с вашей памятью, привычками и тд. Но в итоге — это уже не вы:)
Решил вечером отдохнуть, посмотрел ролик — нет, посижу все же поработаю:)
Что то, к сожалению, пропустил я зарю популярности этого фреймворка. Узнал о нем лишь недавно, а уже оказывается 4-я версия.
Про объекты и массивы в 5.4 действительно интересно!
Я как раз хотел показать пример организации тестирования, такой себе метод который мне показался очень практичным. Я так же думал показать лишь один интерфейс. Признаю свою ошибку, вот ссылка на github. Реализация в проекте имеет свои небольшие изменения от выложенного, потому выпилил все лишнее.
Проект не open source, и, уж извините, если честно то даже не задумывался выложить куда либо исходники решения и создавать composer пакет. Если кому-то это будет интересно, обязательно так сделаю.

Информация

В рейтинге
Не участвует
Откуда
Днепр, Днепропетровская обл., Украина
Дата рождения
Зарегистрирован
Активность