Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
class country extends baza
{
......
function show_description($country=NULL)
{
if ($this instanceof country)
$quest="SELECT description FROM countries WHERE name=\"$this->name"";
if ($this instanceof city) // йобаный стыд!!! 0_0
$quest="SELECT description FROM cities WHERE name\"$this->name\" AND country=\"$country\" ";
......
}
class city extends country
.....
предок "country" знает о потомке "city"
Говнокод из говнокнижки Елены Бенкен "PHP, MySQL, XML Программирование для интернета" БХВ-Петербург,ISBN 5-9775-0039-4 страница 209
Что-то говнокоды из книжек на PHP начинают набирать популярность...
И после этого ещё удивляются, что "некоторые PHP программисты иногда говнокодят"...
документация пхп состоит из говна. Когда смеешься над ней, то тебе отвечают: "ну это же пример, а не настоящее приложение"
Популярная красная библия пхп (издательства врокс) состоит из говна.
Популярная книга котерова состоит из говна.
Документация написана для профессионалов, новичку решительно невозможно чему-то научиться по ней не заработав рак мозга.
Поэтому если надо научиться чему-то совершенно новому - предпочитаю книжки из серии "Для чайников". Но это не значит что они должны учить говну. В них должны быть просто и доступно описаны самые примитивные вещи. Буквально разжевано в кашу. А что посложнее - уже сам допетришь по мануалам, потом.
Использование системы
Теперь вы можете оценить реальную мощь объектноориентированного подхода.
Следующий код будет подробно отображать все записи о контактах из базы данных.
Этот код нужно поместить в файл test.php.
Если бы в книгах по PHP исправляли бы все ляпы, эта глава была бы единственной. Исправлять ляпы - дело твоё. Они всего лишь демонстрируют ООП в данном конкретном случае. Никто не пишет, что так нужно делать, просто интересно посмотреть как делают другие.
До этого кода уже всё было показано. Вы что абсолютный пурист ООП что ли?! Мож ещё отдельный класс сделать и инкапсулировать поток выполнения в методе main()? PHP - мультипарадигменный Я.П., так почему бы этим не пользоваться, тем более если удобно. Ну речь не об этом. Я же любезно попросил уточнить: "где принципиальное концептуальное говно?"
Ещё один пурист... Видимо вы меня не слышите. PHP не чисто поддерживает все концепции ООП, он - МУЛЬТИПАРАДИГМЕННЫЙ! Про ООП я читал в теории, не надо тут ЛЯ-ЛЯ.
причем тут ляпы?
эта глава -- христоматия по тому, как НЕ НАДО писать код
это скопище антипаттернов и запахов кода
тут и копипаста сплошная или вшитый в логику гуи и все на свете
public static function getAddressData($addressID) {
$sql = "SELECT * FROM \"entityaddress\" WHERE \"addressid\" = $addressID";
$res = pg_query(DataManager::_getConnection(), $sql);
if(! ($res && pg_num_rows($res))) {
die("Невозможно получить данные адреса для $addressID");
{
return pg_fetch_assoc($res);
{
public static function getEmailData($emailID) {
$sql = "SELECT * FROM \"entityemail\" WHERE \"emailid\" = $emailID";
$res = pg_query(DataManager::_getConnection(), $sql);
if(! ($res && pg_num_rows($res))) {
die("Невозможно получить данные электронного адреса для $emailID");
{
return pg_fetch_assoc($res);
{
public static function getPhoneNumberData($phoneID) {
$sql = "SELECT * FROM \"entityphone\" WHERE \"phoneid\" = $phoneID";
$res = pg_query(DataManager::_getConnection(), $sql);
if(! ($res && pg_num_rows($res))) {
die("Невозможно получить номер телефона для $phoneID");
{
return pg_fetch_assoc($res);
{
Знаете, в чем цинизм?
Эта глава называется "объектный подход в действии"
Вы видимо хотели, чтобы они в одной главе указали на "НЕ В РОТ ИБАЦЦО" иерархию классов взаимодействия с БД PostgreSQL. А может и описали ее функциональность в деталях?! Опять же, тогда эта глава была бы единственной в книге. А придраться ко всему можно, даже к Б. Кернигану и Д. Ритчи "The C programming language" и к Питеру Абелю со своим ассемблером
Типа не в действии. Способ отображения таблиц в объекты - это тоже способ. Кого-то это наталкивает на какие-то свои идеи, а у кого-то просто их нет, тогда он начинает обсирать чужие. Это безусловно искусство! Копипастить и троллить я смотрю все научились.
PHP - далеко не первый для меня ЯП. Я всю жизнь (хм..) Java занимаюсь, начинал с С/С++. PHP использую как простое эффективное средство для написания web-приложений ЛЮБОЙ степени сложности. Не было ни дня, что я пожалел об этом.
>>простое эффективное средство для написания web-приложений ЛЮБОЙ степени сложности.
знаете, в чем разница между говеным и неговеным приложением?
неговеное приложение не позиционирует себя как ВЕБ приложение. Потому что неговеный архитектор знает, что веб -- это всего лишь гуи. Никто же не говорит "я консольный программист" или "я свинг программист".
Когда человек говорит "веб-приложение", то сразу понятно что у него там HTML вперемешку с логикой, отовсюду образаются к $_GET, нету юнит-тестов и куча копипасты.
На сложность приложения это, кстати, никоим образом не влияет. Влияет на хрупкость, но даже очень хрупкое приложение можно поддерживать если не леница активно и бодро копипастить)
WEB разный бывает, задачи для WEB бывают разными, собственно как и везде. Я бы не стал говорить: "Я типа пишу на JSP, потому что не знаю PHP; поэтому PHP - говно что ли?!" Неговеное application не позиционирует себя как ВЕБ... ?! Вот это новость!
Сколько ни писали книжки про пых, а все равно только говно выходит.
Показательно. Товарищи, даже не пытайтесь это исправить.
Кодомакаки облегчают конкурентную борьбу = )
это искушенный заказчег. Которому уже обезьянки сделали "портал" за 60 баксов
а неискушенному все равно, на чем будет крутиться, главное, что бы это было красиво и эффективно несло золотые яички
Искушенный все же знает, что PHP на самом деле мощный и серьезный инструмент. Я наверное имел ввиду заказчика который все же бывает в инете хотя бы на башорге и вконтагтиге
А при чем тут красота? Вплане красоты PHP один из самых уродливых языков. Следом C++ (ловлю минусы). Самый красивый код выходит на Паскале и SQL (DML).
13 января был в убогом городе Березники, заходил в книжный магазин, полистал книг 10 по PHP, все они примерно одного содержания и все для начального уровня.
Только 2 книги содержали прилично написанные примеры. И только в одной из двух примеры были рабочие.
Самое обидное, что цена на литературу такой тематики, в разы больше.
Нет там всё гораздо проще, просто нужно внимательно прочитать код сверху вниз, если вы читаете не говнокод, вы сразу заметите нехватки ";", ошибки в регулярных выражениях
if(preg_match("[A-z]", $abc))...
и т.д. Просто надо захотеть их найти и всё =)
Вы же читаете код, перед тем, как проголосовать за говнокод
Так это отличный повод написать стопицотую книжку для чайников и получить от этого ПРОФИТ.
Дело в том, что если язык лёгкий, а человек стопудово уверен, что он погромист от б-га, он всё равно найдёт, не книжку, так форум.
И после этого ещё удивляются, что "некоторые PHP программисты иногда говнокодят"...
Популярная красная библия пхп (издательства врокс) состоит из говна.
Популярная книга котерова состоит из говна.
Книг о ПХП, состоящих не из говна, нет в природе
Поэтому если надо научиться чему-то совершенно новому - предпочитаю книжки из серии "Для чайников". Но это не значит что они должны учить говну. В них должны быть просто и доступно описаны самые примитивные вещи. Буквально разжевано в кашу. А что посложнее - уже сам допетришь по мануалам, потом.
все таки ООП в ПХП надо запретить
все равно им пользоваться не умеют
Использование системы
Теперь вы можете оценить реальную мощь объектноориентированного подхода.
Следующий код будет подробно отображать все записи о контактах из базы данных.
Этот код нужно поместить в файл test.php.
Где в приведенном коде ООП кроме оператора -> ?
Приведенный код выдернут из контекста видимо? На предыдущих страницах все эти классы описаны, Если так то концептуального говна нет.
А для PHP имхо не так уж и не правильно обмазывать его HTMLом. В конце концов он и сделан для формировани HTMLа
Вы почитайте хоть что нить про ооп, про паттерны хотя бы почитайте (гэнг ов фор) и узнаете чем ООП отличается от ковбойского стиля
Вот так вброс...
эта глава -- христоматия по тому, как НЕ НАДО писать код
это скопище антипаттернов и запахов кода
тут и копипаста сплошная или вшитый в логику гуи и все на свете
это пзц, а не книга
Их есть у нас!
Глава 3:
Знаете, в чем цинизм?
Эта глава называется "объектный подход в действии"
зато есть копипаста и sql инъекция
если Вы когда нить бросите пхп и изучите какой-нить язык программирования -- Вы меня поймете
знаете, в чем разница между говеным и неговеным приложением?
неговеное приложение не позиционирует себя как ВЕБ приложение. Потому что неговеный архитектор знает, что веб -- это всего лишь гуи. Никто же не говорит "я консольный программист" или "я свинг программист".
Когда человек говорит "веб-приложение", то сразу понятно что у него там HTML вперемешку с логикой, отовсюду образаются к $_GET, нету юнит-тестов и куча копипасты.
На сложность приложения это, кстати, никоим образом не влияет. Влияет на хрупкость, но даже очень хрупкое приложение можно поддерживать если не леница активно и бодро копипастить)
фейспалм) что за язык такой -- JSP?
Показательно. Товарищи, даже не пытайтесь это исправить.
Кодомакаки облегчают конкурентную борьбу = )
а неискушенному все равно, на чем будет крутиться, главное, что бы это было красиво и эффективно несло золотые яички
ЖЖОШ! 😀
башорг -- серьезное приложеное
именно башорг доказывает тот факт, что на php можно писать очень сложные вещи
в каком-то смысле быстрое приложение это антоним красивому приложению
и не нужна для перформанса
именно потому, на пхп нет ни одного приложения с логикой сложнее форума.
а хайлоады -- есть
Только 2 книги содержали прилично написанные примеры. И только в одной из двух примеры были рабочие.
Самое обидное, что цена на литературу такой тематики, в разы больше.
🙂
if(preg_match("[A-z]", $abc))...
и т.д. Просто надо захотеть их найти и всё =)
Вы же читаете код, перед тем, как проголосовать за говнокод
http://tinyurl.com/6x8jzhs
фря была православна когда небыло линухов с портами и хендбуками
но теперь уже и линух вполне себе удобен)
вот уж где в мозгу-то накомпилировал
Дело в том, что если язык лёгкий, а человек стопудово уверен, что он погромист от б-га, он всё равно найдёт, не книжку, так форум.