PhpDeveloper — ссылка на блогпост, апрувится модератором.
PhpMaster — полноценная статья, которая будет проходить через редакторов, а потом даже деньгу заплатят.
Hacker News — агрегатор типа digg, наставят плюсиков
Reddit — (забыл о нем), но тоже популярный агрегатор
DZone — то же…
Потому, скорее всего, стоит написать где-то блогпост (или сделать сайт на gh-pages) и запостить его во все эти агрегаторы.
Тем же чем и аннотации — отуствие валидации. Т.е. правильность конфигурации не проверишь пока не запустишь приложение. Тем более не узнаешь, что неправильно написал конфигурацию кеша, пока твой сайт не упал под хабраэффектом.
Т.е. грубо говоря, хотелось, чтобы можно было задавать конфигурацию в соответствии со схемой.
И я не говорю, про XML. Я говорю, что сам язык должен иметь средства для задания такого рода конфигураций. Chained methods — как вариант. Но аннотации с интерфейсами были бы лучше.
Отуствие аннотаций в списке свидетельствует о том, что язык развивается сам по себе, а приложения пишутся сами по себе. Впрочем, как по мне, тут вина не столько разработчиков языка, сколько фреймворков предлагающих их использовать.
Понравились getters, setters, генераторы (привет руби) и FooBar::class (привет он же).
Но чего реально нет, каких-то нормальных механизмов задавать конфигурацию на PHP. Массвы себя изжили, а аннотации (в нынешнем виде) не могут быть отлажены никак кроме как в реалтайме.
Градация между junior и senior в PHP огромна как нигде.
Junior PHP должен уметь поковырять форум или друпал и поменять пару функций и переменных.
Senior PHP должен знать Symfony2, Zend, MVC, ORM, Doctrine2, DIC, annotations, Yaml, Json, XML, Git…
Думаю стоит или придерживаться принципа KISS в разработке или не упоминать о простоте PHP.
PHP все еще является наипростейшим языком для изучения не-техническими людьми
Имхо, у Фабьена когнитивный диссонанс. С одной стороны он утверждает, что PHP очень простой язык, а с другой — для работы с самым популярным PHP-фреймворком необходимы знания об интерфейсах, итераторах, DIC, аннотациях и прочем-прочем-прочем.
Это то понятно. Но автоматически это узнать нельзя. Да и беда сам разработчик не всегда может узнать что это за класс сюда попадает. Нужно дополнительно смотреть в конфигурацию контейнера.
Чтобы не быть голословным, вот как можно нормально реализовать Dependency Injection в PHP. gist.github.com/1936860
Особенность этого подхода, в том, что мы вводим абстракции только когда они становятся необходимыми, а не изначально, когда в них смысла нет. Т.е. работает эволюционный подход.
Ну для 90% задач MySQL хватает. Он более универсален.
То есть я не знаю где учитывать Memcached. Его можно использовать для хранения сессия и для кеша. Но когда кешировать почти ничего не надо он тоже в скорости ничего не добавит. Максимум пару запросов для получения данных активного пользователя сохранит.
То есть да, на больших проектах, особенно в dev-режиме оно будет работать медленно. И это раздражает.
Казалось бы при чем тут PHP и Dependency Injection Container :)
На самом деле — нет. Не делают. Varnish и Memcached это уже оптимизация, а не средства из коробки. Не все проблемы скорости можно решить кешем. Для порталов — отличное решение, а для сервисов — Memcached и Varnish ничем не помогут.
PhpDeveloper — ссылка на блогпост, апрувится модератором.
PhpMaster — полноценная статья, которая будет проходить через редакторов, а потом даже деньгу заплатят.
Hacker News — агрегатор типа digg, наставят плюсиков
Reddit — (забыл о нем), но тоже популярный агрегатор
DZone — то же…
Потому, скорее всего, стоит написать где-то блогпост (или сделать сайт на gh-pages) и запостить его во все эти агрегаторы.
phpdeveloper.org
phpmaster.com
news.ycombinator.com
Т.е. грубо говоря, хотелось, чтобы можно было задавать конфигурацию в соответствии со схемой.
И я не говорю, про XML. Я говорю, что сам язык должен иметь средства для задания такого рода конфигураций. Chained methods — как вариант. Но аннотации с интерфейсами были бы лучше.
И массивы изжили, да.
Понравились getters, setters, генераторы (привет руби) и FooBar::class (привет он же).
Но чего реально нет, каких-то нормальных механизмов задавать конфигурацию на PHP. Массвы себя изжили, а аннотации (в нынешнем виде) не могут быть отлажены никак кроме как в реалтайме.
Junior PHP должен уметь поковырять форум или друпал и поменять пару функций и переменных.
Senior PHP должен знать Symfony2, Zend, MVC, ORM, Doctrine2, DIC, annotations, Yaml, Json, XML, Git…
Думаю стоит или придерживаться принципа KISS в разработке или не упоминать о простоте PHP.
Имхо, у Фабьена когнитивный диссонанс. С одной стороны он утверждает, что PHP очень простой язык, а с другой — для работы с самым популярным PHP-фреймворком необходимы знания об интерфейсах, итераторах, DIC, аннотациях и прочем-прочем-прочем.
Даже не знаю что может быть проще )
gist.github.com/1936860
Особенность этого подхода, в том, что мы вводим абстракции только когда они становятся необходимыми, а не изначально, когда в них смысла нет. Т.е. работает эволюционный подход.
В Руби вот нету никаких Dependency Injection и DIC. И всё хорошо, все счастливы.
davybrion.com/blog/2010/10/why-you-dont-need-dependency-injection-in-ruby/
То есть я не знаю где учитывать Memcached. Его можно использовать для хранения сессия и для кеша. Но когда кешировать почти ничего не надо он тоже в скорости ничего не добавит. Максимум пару запросов для получения данных активного пользователя сохранит.
То есть да, на больших проектах, особенно в dev-режиме оно будет работать медленно. И это раздражает.
Казалось бы при чем тут PHP и Dependency Injection Container :)
На самом деле — нет. Не делают. Varnish и Memcached это уже оптимизация, а не средства из коробки. Не все проблемы скорости можно решить кешем. Для порталов — отличное решение, а для сервисов — Memcached и Varnish ничем не помогут.
Но вот остальные компоненты весьма годны.