Pull to refresh

Comments 36

Какой-то слоник на картинке злобный. Совсем не соответствует тому, что был избран талисманом PHP.
Подпись тоже странная: «попробуй PHP и останови нас».
Надпись гласит «Попробуй остановить нас», а не «попробуй PHP». Что, не исключает грамматической ошибки конечно, но она была в оригинале преднамеренно.

Картинка оригинал из Симпсонов.
goo.gl/b9Wkn
php-шники совсем озверели
А что нам остаётся, если повсюду твердят, что мы устарели?
Ну как минимум понять, что проблема с php имеет место быть. Ведь среди повсюду твердящих есть и не такие уж глупые люди.

Я на php писал до 2005 года. В основном на нём тогда и писал. Сейчас пишу как правило на десятке разных языков в одном проекте. И делать на php то, что я делаю сейчас было бы совсем невозможно. PHP был хорош, но его время кончилось, ибо большинство, кто мог толкать PHP вперёд (и даже не сам язык, а 3rd party либы) с него ушли.
Забыли упомянуть новую нашумевшую лёгкую cms Bolt (bolt.cm), которая написана на микрофреймворке Silex, который в свою очередь на компонентах Symfony 2 (который на php).
Версия 0.7 вышла раньше, за обновлениями следим и о следующих будем сообщать
Спасибо за подборку!
Почитал про «Паттерн Null Object», по моему скромному мнению это ужасно.
Прочитайте про него у Фаулера, он пишет гораздо лучше.
Правда, если вы используете стороннюю ORM, то его ввод, будет подобен большому пятому колесу
Абсолютно согласен, по-моему если уж получили null то нужно с null и работать, а не делать такие заглушки, которые потенциально к сложно выявляемым ошибкам ведут.
Просто в статье приведён неудачный пример.

Допустим, вам нужна поддержка логирования в вашем приложении. Тогда вместо того, чтобы каждый раз писать условия типа:

if ($loggingEnabled) {
    $this->getLogger()->log('log message');
}

можно сделать эту проверку единожны при инициализации логгера:

$this->logger = $logger ?: new NullLogger();

и далее в коде просто писать

$this->logger->log('log message');

что, несомненно, выглядит чище и более соответствует принципу DRY.
А мне чёт не понравился. Комментят больше комменты к мануалу, чем сам мануал.
А зачем комментить мануал не в мануале? Если есть ошибка или недочет — можно оставить багрепорт.
И кстати на тупой комментарий так же можно — его удалят.
Я про блог. Название как бы говорит, что показываются перлы в самом мануале. На самом деле выбираются перлы из комментов к мануалу, коих там довольно много.
Учитывая ущербность мануала (многие важные случаи не описаны, примеры неподробные, иногда документация вообще сводится к сигнатуре функции), комментарии — неотъемлемая часть мануала.
PHP? Останавливать вас? Да ну. Делать нам нечего.
Сами помрёте.
Кстати, как вы умудрились больше 10 лет прожить-то?

>К счастью, такая проблема легко решается полиморфной реализацией объекта предметной области, используя паттерн >проектирования Null Object.
Думаю эта фраза лучше меня, старого сишника, показывает на нежизнеспособность языка. Вы о чём?!

P.S.Requiescant in pace и не мучайте людей.
Старый сишник, а ведете себя как школьник.
Главное не стареть душой:)
Точно! Отсутствие мозгов, в наше время, не самая большая проблема.
А вот так, на PHP сайты (или как сейчас модно веб-приложения) быстрее и проще создавать чем на Си. Собственно с него я на пхп и перешёл после 10 лет разработки на сях и плюсах, и где-то там влезшего VB. Попробовал на сях CGI — долго и муторно, плюс куча условий типа поднять у себя локально идентичную хостерской среду, судя о ней лишь по косвенным призанкам.
Конструкторы и миф о нарушении принципа подстановки Барбары Лисков — В статье сделана попытка разрушить миф о том, что конструкторы нарушают один из основных принципов объектно-ориентированного программирования

А почему это в разделе PHP?
Кстати, странно, о каком мифе они говорят. Вообще, то что конструктор не нарушает принципа подстановки Барбары Лисков, говорится в определении.
Автор статьи считает, что в случае когда подклассы одного типа инстанциируются по-разному (то есть имеют разные конструкторы) — это не нарушает тот самый принцип.
И это как раз и следует из определение принципа:
Пусть Q(X) является свойством, верным относительно объектов X некоторого типа T. Тогда Q(Y) также должно быть верным для объектов Y типа S, где S является подтипом типа T .

X является экземпляром класса T.
Конструктор не является свойством экземпляра.
Отсюда и следует, что S и T могут иметь различные конструкторы.

Зачем писать для этого целую статью — не понятно.
В определении не геворится «свойство класса», то есть имеется в виду не переменная, а любой член публичного интерфейса, в том числе и методы.
Я привел определение принципа.
И что это ещё за термин «свойство класса» — это откуда-то из метопрограммирования?
Есть класс, есть экземпляр.
Есть методы экземпляра.

В определении принципа нет ничего, что качалось бы методов класса. Говорится лишь про объекты, т.е. про экземпляры класса.
Просто у многих каша в голове, из-за вольного интерпретирования терминов.
Имелись в виду методы доступные в экземпляре класса.

Ок, что по-вашему значит фраза «является свойством, верным относительно объектов»?

Вот оригинал статьи в которой сразу после определения вышеупомянутого принципа идет пояснение: A type's specification determines what properties we can prove about objects.
Имелись в виду методы доступные в экземпляре класса.

Наверное вы хотели сказать, методы доступные у экземпляра класса?
Конструктор не доступен. О чём я и говорю.

Даже если вы и не это хотели сказать, то дальше по тексту говорится, что: Объекты полученные от суперкласса, должны иметь такое же поведение, что и полученные от подкласса. Речь идет о экземплярах, в свойства которых конструктор не входит.
Про PHP 5.2 фигня написана. Автор явно не в курсе в чем проблема. Проблема в том, что Zend сделала скрипты зазенденные для старых версий нерабочими в 5.3+. Потому зачастую довольно геморно обновиться, учитывая, что особых плюсов от обновления на новую ветку на старом софте не получишь.
В рубрику CMS можно добавить презентацию 16 октября нового Битрикс версии 12. Разработали новое ядро, переработали интернет-магазин. И еще добавили замечательную галку «Сделать хорошо», которая позволяет значительно ускорить сайт путем выгрузки статичных файлов в облако (CDN): www.youtube.com/watch?v=nDViMTRaSEM.
Видео презентации: www.youtube.com/watch?v=ebysFJf8pTA
Спасибо автору статьи за подборку новостей. Интересно и полезно, только читать некогда)) Довольствуюсь беглым чтением, заголовками и комментами.

Самые ожидаемые фичи от новых версий пхп: стабильный APC (а может и компилятор байт-кода), больше заимствований из функционального программирования. Вдохновляют сеттеры, геттеры, empty(), NullObject, Generators.

Мечты: ах если бы добавили тип tuple, atom и паттерн-матчинг… А там глядишь и до hot-code-loading недалеко…

Представьте себе такой код на пхп:
<?php

function factorial(0)
{
  return 1;
}

function factorial($n)
{
  return $n * factorial($n - 1);
}

echo factorial(7), PHP_EOL;



Была статья недавно, про то, что собираются вычистить zend_api из PHP. Похоже, это одна из причин, являющаяся балластом для развития языка… Но несмотря на это — язык не перестают радовать и с этими недостатками.
Sign up to leave a comment.