Меня формулировка автора тоже заинтриговала — полез в исходники, в надежде увидеть особую уличную магию. Разочарован не был — академическая ценность библиотеки достаточно высокая.
Регистрируется фильтр потока php://filter/read, который передаёт тело файла цепочке трансформеров, среди которых есть FilterInjectorTransformer, заменяющий пути в аргументах, передаваемых include* и require*.
Насчёт запутанности исходников: там как раз всё хорошо структурировано, а по-настоящему запутанные исходники — они во всяких wordpress.
никакого расчёта, просто у меня есть дурная привычка читать хабр перед сном, благодаря которой, я иногда пишу глупости.
прошу прощения за устроенный офтоп.
Представил, .xpath() у этой ноды вызову. А что с итерируемой нодой?
Писать интерфейс: если вам нравится Python и SimpleXML, то идея не так уж плоха. А если просто SimpleXML, то разумно пользоваться им на PHP. Инструменты нужно выбирать исходя из требований задачи, а освоив новый язык — вы пополните набор этих инструментов и познакомитесь с новыми техниками, которые помогут найти элегантные решения при разработке на ранее известном языке.
В PHP 5.5 появятся генераторы — благодаря Python, я уже представляю, зачем они нужны и зачем не нужны.
Моя любимая игра, необычная настолько, насколько это вообще возможно. Сложно поверить, что разработка обошлась без тяжелых наркотиков, но, благодаря K-D Lab, у нас есть возможность погрузиться в этот кислотный трип без вреда для здоровья.
Динамичный геймплей, психоделический визуальный ряд, отличный саундтрек, позже выпущенный отдельным диском (с бонусным треком Vangers Forever), воксельная графика и изменяемый ландшафт (это в 98 году), а главное — позитив, которым игра пропитана насквозь.
Наивно рассчитывать что сиквел станет таким же шедевром. Даже если он окажется просто хорошей игрой — поклонники Вангеров будут разочарованы. Так что, на мой взгляд, разработчики поступили правильно.
Что-то про музыку никто не упомянул. Побродить по ночному городу викторианской эпохи под звуки виолончели — многого стоит. Мне сложно вспомнить игру атмосфернее Арканума.
А насчёт большого квеста на благословения — додумался обратить внимание на плакат с инструкцией, когда проходил игру в третий раз. Долго ломал голову над платформой, зайдя на которую умираешь — а когда понял, зачем она это делает, на день впал в эйфорию.
Система диалогов учитывает расы персонажа и собеседника, склонность к магии/технологии, репутацию — можно много раз проходить игру заново и это не будет надоедать. Сегодня ты полуогр, выбивающий дурь из всех подряд, завтра ты дипломат, вообще не совершающий убийств, потом технолог с пушкой тесла и в механизированном доспехе, или маг, которого не пускают в поезд, потому что он заржавеет. Плевать, у нас есть телепортация.
Писать в три раза больше, особенно xpath не порадовал, постоянно контекст рутового объекта используется.
Есть подмодуль lxml.etree, где элементы могут вызывать xpath() в собственном контексте.
Писать в три раза больше — у меня совсем скромный опыт разработки на питоне, но всегда получалось наоборот. У подмодулей lxml.* неплохой набор классов и их методов — думаю, с их помощью вполне возможно писать лаконичный код.
Как-то слабо вас PHP держит.
Python:
— lxml
— Jinja2. В symfony2 используется его порт, названный Twig. Отличный шаблонизатор.
Ruby:
— LibXML
— erb и куча альтернатив.
Замечательные языки, между прочим. Как и PHP, у которого есть только одна существенная проблема — он в мейнстриме, а значит, есть куча говнарей, пишущих на нём мозговыносящие опусы, иногда, что страшнее всего, коммерчески успешные. И что бы там ни говорили паладины святых войн, ненавидят они PHP именно из-за говнарей, чей код им довелось поддерживать, а не из-за отсутствия генераторов (до 5.5) или плохих лямбд etc.
Рядовому php-девелоперу приходится иметь дело с таким говнищем как Bitrix, wordpress, ShopCMS и прочими нейромедиаторами, но пока есть Symfony2 и другие качественные продукты, а также адекватные разработчики, PHP имеет право на существование.
Одним языком ограничиваться не стоит, в любом случае. Да и десятью тоже.
Нужно быть разработчиком 80 левела, чтобы безболезненно осваивать новый язык на коммерческом проекте.
PHP, ASP, Python, Ruby, Perl — что-то мне подсказывает, что независимо от выбора языка, на выходе получится brainfuck.
Академический интерес разумно удовлетворять на экспериментальных проектах, которые вряд ли обретут успех, но зато используют возможности языка по полной программе.
Если вы хороший разработчик, то заказчик не почувствует разницы. В отличие от вас. Я бы не стал так рисковать нервами, временем и, возможно, репутацией.
Есть ли смысл осваивать PHP ради единственного проекта? Боюсь, вы успеете только проникнуться ненавистью к этому языку, как некоторые комментаторы.
Есть ли смысл осваивать его самостоятельно, когда можно (как советовали выше) нанять сложившихся специалистов, а собственное время потратить на изучение более прикладных вещей?
Насчёт запутанности исходников: там как раз всё хорошо структурировано, а по-настоящему запутанные исходники — они во всяких wordpress.
прошу прощения за устроенный офтоп.
минусаните кто-нибудь за меня.
Писать интерфейс: если вам нравится Python и SimpleXML, то идея не так уж плоха. А если просто SimpleXML, то разумно пользоваться им на PHP. Инструменты нужно выбирать исходя из требований задачи, а освоив новый язык — вы пополните набор этих инструментов и познакомитесь с новыми техниками, которые помогут найти элегантные решения при разработке на ранее известном языке.
В PHP 5.5 появятся генераторы — благодаря Python, я уже представляю, зачем они нужны и зачем не нужны.
Динамичный геймплей, психоделический визуальный ряд, отличный саундтрек, позже выпущенный отдельным диском (с бонусным треком Vangers Forever), воксельная графика и изменяемый ландшафт (это в 98 году), а главное — позитив, которым игра пропитана насквозь.
Наивно рассчитывать что сиквел станет таким же шедевром. Даже если он окажется просто хорошей игрой — поклонники Вангеров будут разочарованы. Так что, на мой взгляд, разработчики поступили правильно.
А насчёт большого квеста на благословения — додумался обратить внимание на плакат с инструкцией, когда проходил игру в третий раз. Долго ломал голову над платформой, зайдя на которую умираешь — а когда понял, зачем она это делает, на день впал в эйфорию.
Система диалогов учитывает расы персонажа и собеседника, склонность к магии/технологии, репутацию — можно много раз проходить игру заново и это не будет надоедать. Сегодня ты полуогр, выбивающий дурь из всех подряд, завтра ты дипломат, вообще не совершающий убийств, потом технолог с пушкой тесла и в механизированном доспехе, или маг, которого не пускают в поезд, потому что он заржавеет. Плевать, у нас есть телепортация.
Как-то так.
Писать в три раза больше — у меня совсем скромный опыт разработки на питоне, но всегда получалось наоборот. У подмодулей lxml.* неплохой набор классов и их методов — думаю, с их помощью вполне возможно писать лаконичный код.
Python:
— lxml
— Jinja2. В symfony2 используется его порт, названный Twig. Отличный шаблонизатор.
Ruby:
— LibXML
— erb и куча альтернатив.
Замечательные языки, между прочим. Как и PHP, у которого есть только одна существенная проблема — он в мейнстриме, а значит, есть куча говнарей, пишущих на нём мозговыносящие опусы, иногда, что страшнее всего, коммерчески успешные. И что бы там ни говорили паладины святых войн, ненавидят они PHP именно из-за говнарей, чей код им довелось поддерживать, а не из-за отсутствия генераторов (до 5.5) или плохих лямбд etc.
Рядовому php-девелоперу приходится иметь дело с таким говнищем как Bitrix, wordpress, ShopCMS и прочими нейромедиаторами, но пока есть Symfony2 и другие качественные продукты, а также адекватные разработчики, PHP имеет право на существование.
Одним языком ограничиваться не стоит, в любом случае. Да и десятью тоже.
PHP, ASP, Python, Ruby, Perl — что-то мне подсказывает, что независимо от выбора языка, на выходе получится brainfuck.
Академический интерес разумно удовлетворять на экспериментальных проектах, которые вряд ли обретут успех, но зато используют возможности языка по полной программе.
Если вы хороший разработчик, то заказчик не почувствует разницы. В отличие от вас. Я бы не стал так рисковать нервами, временем и, возможно, репутацией.
Есть ли смысл осваивать PHP ради единственного проекта? Боюсь, вы успеете только проникнуться ненавистью к этому языку, как некоторые комментаторы.
Есть ли смысл осваивать его самостоятельно, когда можно (как советовали выше) нанять сложившихся специалистов, а собственное время потратить на изучение более прикладных вещей?