Comments 36
Какой-то слоник на картинке злобный. Совсем не соответствует тому, что был избран талисманом PHP.
+4
Подпись тоже странная: «попробуй PHP и останови нас».
-1
Нас сейчас заминусуют…
-1
Надпись гласит «Попробуй остановить нас», а не «попробуй PHP». Что, не исключает грамматической ошибки конечно, но она была в оригинале преднамеренно.
Картинка оригинал из Симпсонов.
goo.gl/b9Wkn
Картинка оригинал из Симпсонов.
goo.gl/b9Wkn
+4
php-шники совсем озверели
+6
А что нам остаётся, если повсюду твердят, что мы устарели?
+7
Ну как минимум понять, что проблема с php имеет место быть. Ведь среди повсюду твердящих есть и не такие уж глупые люди.
Я на php писал до 2005 года. В основном на нём тогда и писал. Сейчас пишу как правило на десятке разных языков в одном проекте. И делать на php то, что я делаю сейчас было бы совсем невозможно. PHP был хорош, но его время кончилось, ибо большинство, кто мог толкать PHP вперёд (и даже не сам язык, а 3rd party либы) с него ушли.
Я на php писал до 2005 года. В основном на нём тогда и писал. Сейчас пишу как правило на десятке разных языков в одном проекте. И делать на php то, что я делаю сейчас было бы совсем невозможно. PHP был хорош, но его время кончилось, ибо большинство, кто мог толкать PHP вперёд (и даже не сам язык, а 3rd party либы) с него ушли.
-9
Спасибо за подборку!
Почитал про «Паттерн Null Object», по моему скромному мнению это ужасно.
Почитал про «Паттерн Null Object», по моему скромному мнению это ужасно.
+2
Прочитайте про него у Фаулера, он пишет гораздо лучше.
Правда, если вы используете стороннюю ORM, то его ввод, будет подобен большому пятому колесу
Правда, если вы используете стороннюю ORM, то его ввод, будет подобен большому пятому колесу
+2
Абсолютно согласен, по-моему если уж получили null то нужно с null и работать, а не делать такие заглушки, которые потенциально к сложно выявляемым ошибкам ведут.
0
Просто в статье приведён неудачный пример.
Допустим, вам нужна поддержка логирования в вашем приложении. Тогда вместо того, чтобы каждый раз писать условия типа:
можно сделать эту проверку единожны при инициализации логгера:
и далее в коде просто писать
что, несомненно, выглядит чище и более соответствует принципу DRY.
Допустим, вам нужна поддержка логирования в вашем приложении. Тогда вместо того, чтобы каждый раз писать условия типа:
if ($loggingEnabled) {
$this->getLogger()->log('log message');
}
можно сделать эту проверку единожны при инициализации логгера:
$this->logger = $logger ?: new NullLogger();
и далее в коде просто писать
$this->logger->log('log message');
что, несомненно, выглядит чище и более соответствует принципу DRY.
0
Блог PHP Manual Masterpieces рулит.
+2
А мне чёт не понравился. Комментят больше комменты к мануалу, чем сам мануал.
0
А зачем комментить мануал не в мануале? Если есть ошибка или недочет — можно оставить багрепорт.
И кстати на тупой комментарий так же можно — его удалят.
И кстати на тупой комментарий так же можно — его удалят.
+1
Я про блог. Название как бы говорит, что показываются перлы в самом мануале. На самом деле выбираются перлы из комментов к мануалу, коих там довольно много.
0
PHP? Останавливать вас? Да ну. Делать нам нечего.
Сами помрёте.
Кстати, как вы умудрились больше 10 лет прожить-то?
>К счастью, такая проблема легко решается полиморфной реализацией объекта предметной области, используя паттерн >проектирования Null Object.
Думаю эта фраза лучше меня, старого сишника, показывает на нежизнеспособность языка. Вы о чём?!
P.S.Requiescant in pace и не мучайте людей.
Сами помрёте.
Кстати, как вы умудрились больше 10 лет прожить-то?
>К счастью, такая проблема легко решается полиморфной реализацией объекта предметной области, используя паттерн >проектирования Null Object.
Думаю эта фраза лучше меня, старого сишника, показывает на нежизнеспособность языка. Вы о чём?!
P.S.Requiescant in pace и не мучайте людей.
-29
Старый сишник, а ведете себя как школьник.
+18
А вот так, на PHP сайты (или как сейчас модно веб-приложения) быстрее и проще создавать чем на Си. Собственно с него я на пхп и перешёл после 10 лет разработки на сях и плюсах, и где-то там влезшего VB. Попробовал на сях CGI — долго и муторно, плюс куча условий типа поднять у себя локально идентичную хостерской среду, судя о ней лишь по косвенным призанкам.
+2
Конструкторы и миф о нарушении принципа подстановки Барбары Лисков — В статье сделана попытка разрушить миф о том, что конструкторы нарушают один из основных принципов объектно-ориентированного программирования
А почему это в разделе PHP?
Кстати, странно, о каком мифе они говорят. Вообще, то что конструктор не нарушает принципа подстановки Барбары Лисков, говорится в определении.
+1
Автор статьи считает, что в случае когда подклассы одного типа инстанциируются по-разному (то есть имеют разные конструкторы) — это не нарушает тот самый принцип.
0
И это как раз и следует из определение принципа:
X является экземпляром класса T.
Конструктор не является свойством экземпляра.
Отсюда и следует, что S и T могут иметь различные конструкторы.
Зачем писать для этого целую статью — не понятно.
Пусть Q(X) является свойством, верным относительно объектов X некоторого типа T. Тогда Q(Y) также должно быть верным для объектов Y типа S, где S является подтипом типа T .
X является экземпляром класса T.
Конструктор не является свойством экземпляра.
Отсюда и следует, что S и T могут иметь различные конструкторы.
Зачем писать для этого целую статью — не понятно.
0
В определении не геворится «свойство класса», то есть имеется в виду не переменная, а любой член публичного интерфейса, в том числе и методы.
0
Я привел определение принципа.
И что это ещё за термин «свойство класса» — это откуда-то из метопрограммирования?
Есть класс, есть экземпляр.
Есть методы экземпляра.
В определении принципа нет ничего, что качалось бы методов класса. Говорится лишь про объекты, т.е. про экземпляры класса.
Просто у многих каша в голове, из-за вольного интерпретирования терминов.
И что это ещё за термин «свойство класса» — это откуда-то из метопрограммирования?
Есть класс, есть экземпляр.
Есть методы экземпляра.
В определении принципа нет ничего, что качалось бы методов класса. Говорится лишь про объекты, т.е. про экземпляры класса.
Просто у многих каша в голове, из-за вольного интерпретирования терминов.
0
Имелись в виду методы доступные в экземпляре класса.
Ок, что по-вашему значит фраза «является свойством, верным относительно объектов»?
Вот оригинал статьи в которой сразу после определения вышеупомянутого принципа идет пояснение: A type's specification determines what properties we can prove about objects.
Ок, что по-вашему значит фраза «является свойством, верным относительно объектов»?
Вот оригинал статьи в которой сразу после определения вышеупомянутого принципа идет пояснение: A type's specification determines what properties we can prove about objects.
0
Имелись в виду методы доступные в экземпляре класса.
Наверное вы хотели сказать, методы доступные у экземпляра класса?
Конструктор не доступен. О чём я и говорю.
Даже если вы и не это хотели сказать, то дальше по тексту говорится, что: Объекты полученные от суперкласса, должны иметь такое же поведение, что и полученные от подкласса. Речь идет о экземплярах, в свойства которых конструктор не входит.
0
Про PHP 5.2 фигня написана. Автор явно не в курсе в чем проблема. Проблема в том, что Zend сделала скрипты зазенденные для старых версий нерабочими в 5.3+. Потому зачастую довольно геморно обновиться, учитывая, что особых плюсов от обновления на новую ветку на старом софте не получишь.
0
Спасибо!
+1
В рубрику CMS можно добавить презентацию 16 октября нового Битрикс версии 12. Разработали новое ядро, переработали интернет-магазин. И еще добавили замечательную галку «Сделать хорошо», которая позволяет значительно ускорить сайт путем выгрузки статичных файлов в облако (CDN): www.youtube.com/watch?v=nDViMTRaSEM.
Видео презентации: www.youtube.com/watch?v=ebysFJf8pTA
Видео презентации: www.youtube.com/watch?v=ebysFJf8pTA
0
Спасибо автору статьи за подборку новостей. Интересно и полезно, только читать некогда)) Довольствуюсь беглым чтением, заголовками и комментами.
Самые ожидаемые фичи от новых версий пхп: стабильный APC (а может и компилятор байт-кода), больше заимствований из функционального программирования. Вдохновляют сеттеры, геттеры, empty(), NullObject, Generators.
Мечты: ах если бы добавили тип tuple, atom и паттерн-матчинг… А там глядишь и до hot-code-loading недалеко…
Представьте себе такой код на пхп:
Была статья недавно, про то, что собираются вычистить zend_api из PHP. Похоже, это одна из причин, являющаяся балластом для развития языка… Но несмотря на это — язык не перестают радовать и с этими недостатками.
Самые ожидаемые фичи от новых версий пхп: стабильный 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. Похоже, это одна из причин, являющаяся балластом для развития языка… Но несмотря на это — язык не перестают радовать и с этими недостатками.
+1
Sign up to leave a comment.
Дайджест интересных новостей и материалов из мира PHP за последние две недели №2 (06.10.2012 — 19.10.2012)