[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PDO, за и против
olgatcpip
А я всегда, делаю при добавлении типа так:
PHP
$query sprintf("insert into table (login,pw) values ('%s','%s');",addslashes($login),addslashes($pw));

Это тоже не безопасно?



Спустя 1 час, 2 минуты, 32 секунды (27.09.2009 - 21:40) twin написал(а):
Вообще мое мнение - никчемушно это как то...
1. Во первых, это путает. Такой код никак читабельным не назовешь.
2. Во вторых. Функция sprintf() вообще то предназначена для форматирования данных, а не для "упорядочивания". Она уместна допустим тут:
PHP
<?php
printf
("%.2f", microtime(true));
чтобы получить время с двумя знаками после точки. А у тебя где форматирование?
Это все косметика. А addslashes все таки лучше заменить специальной функцией...

PS. Дописал немного, наверное слишком большая статья для одной темы, если обо всем писать...

Спустя 11 часов, 1 минута, 1 секунда (28.09.2009 - 08:41) glock18 написал(а):
olgatcpip
twin
а я выступлю в некотором роде в защиту. в некотором роде.

Цитата
$query = sprintf("insert into table (login,pw) values ('%s','%s');",addslashes($login),addslashes($pw));

такая запись, на самом деле говорит о том, что olgatcpip надо попробовать использовать prepared statements, которые в pgsql точно есть. Я сам как-то подумал о подобном финте в качестве "обхода невозможности использовать подготовленные запросы" (что ни говори, а вариант не очень конечно).

Строка приведенная выше говорит о следующем:
1. Ей понравится использовать prepared statements.
2. Это будет безопасно.
3. Это будет красивее.
4. Не надо будет везде add slashes выполнять.
5. Не нужно будет забывать убирать слеши после magic quotes при помощи strip slashes.

olgatcpip, обязательно попробуй. должно понравиться.

Спустя 1 час, 26 минут, 29 секунд (28.09.2009 - 10:08) twin написал(а):
Есть о чем поспорить. Потому что не все, что сложнее:
Цитата
2. Это будет безопасно.
3. Это будет красивее.

По крайней мере закон суров - чем сложнее устройство, тем сложнее его ремонтировать. Это к вопросу читабельности и красоты.
А безопасно... Безопасность - это в основном дисциплина в коде, а не изобретения, которые как раз и способствуют расслабухе.
Но это моя ИМХА и вообще тема для отдельного топика.)))

Спустя 4 дня, 9 минут, 35 секунд (2.10.2009 - 10:17) olgatcpip написал(а):
twin,
Цитата
А addslashes все таки лучше заменить специальной функцией...
какой?

Спустя 3 минуты, 51 секунда (2.10.2009 - 10:21) olgatcpip написал(а):
glock18 просмотрела инфу. Это про PDO, я то читала?
Пыталась внедририть себе. Меня очень смущают всякие вопросики в запросах, а потом их переводить, доставать...
тут смотрела
Я так поняла, что помимо самого запроса нужно еще параметры перечислить и указывать типы.

Спустя 15 минут, 20 секунд (2.10.2009 - 10:36) Michael написал(а):
Цитата (olgatcpip @ 2.10.2009 - 07:17)
twin,
Цитата
А addslashes все таки лучше заменить специальной функцией...
какой?

mysql_real_escape_string()

Спустя 6 минут, 52 секунды (2.10.2009 - 10:43) olgatcpip написал(а):
Постойте, и для постгреса подойдёт?

Спустя 2 минуты, 39 секунд (2.10.2009 - 10:46) glock18 написал(а):
зачем вопросики? очень даже слова можно:
PHP
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour'
);
$sth->bindParam(':calories'$caloriesPDO::PARAM_INT);
$sth->bindParam(':colour'$colourPDO::PARAM_STR12);
$sth->execute();


зачем каждый параметр и тип? если их конкретно указать, то быстрее все должно работать, это да. но можно и так:

PHP
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour'
);
$sth->execute(array(':calories' => $calories':colour' => $colour));


Спустя 51 секунда (2.10.2009 - 10:47) glock18 написал(а):
Цитата
Постойте, и для постгреса подойдёт?

ну у постгре наверняка есть какая-нибудь pgsql_real_escape_string smile.gif

Спустя 28 минут, 34 секунды (2.10.2009 - 11:15) olgatcpip написал(а):
Ничего подоного не нашла. Коли кто знает агалогичную функцию
в мускуле mysql_real_escape_string()
в постгресе, напишите, пожалуйста для слепого человека. Я такой не вижу.

Спустя 23 минуты, 2 секунды (2.10.2009 - 11:38) Mozzi написал(а):
Цитата (olgatcpip @ 2.10.2009 - 08:15)
Ничего подоного не нашла. Коли кто знает агалогичную функцию
в мускуле mysql_real_escape_string()
в постгресе, напишите, пожалуйста для слепого человека. Я такой не вижу.

PHP
string pg_escape_string  ([ resource $connection  ], string $data  )

Спустя 40 минут, 59 секунд (2.10.2009 - 12:19) twin написал(а):
К вопросу о PDO. Есть такая болезнь, синдром программиста. Это когда невозможно закончить начатую работу, всегда хочется что то изменить и улучшить. и пока делаешь одно, устаревает другое. И так по кругу, до маразма.
Я сильно подозреваю, что разработчики подобных выкрутасов (шаблонизаторов, PDO, универсальных фыреймворков да и большей части ООП) безнадежно больны ткой болезнью. А результат очень неутешителен.

Вот скажите мне, дураку. Зачем нужно делать класс для БД? Единственное ему оправдание - использовать его как прослойку, что бы была возможность выбора бд. Но если это не паблик проект, на кой хрен так изгаляться, ведь не будет меняться эта самая база. Ну никак не будет. Ведь это нужно все данные перетащить, что гораздо сложнее, чем решить вопрос с нужным софтом.
Так же и тут, с PDO.
Какой в нем смысл то? Зачем писать надстройку над SQL, вводя в блуд и путаницу тех, кому предстоит с этим потом заниматься. Или вы хотите сказать, что вот это
PHP
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour'
);
$sth->bindParam(':calories'$caloriesPDO::PARAM_INT);
$sth->bindParam(':colour'$colourPDO::PARAM_STR12);
$sth->execute();

красивее прозрачнее и читабельнее такого?
PHP
$calories 150;
$colour 'red';

      
guery("SELECT name, colour, calories
             FROM fruit
             WHERE  colour = '"
.escape_string($colour)."'
             AND calories < "
.(int)$calories 
            
);

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

Спустя 2 минуты, 42 секунды (2.10.2009 - 12:22) waldicom написал(а):
Т.е. те, кто использую PDO, шаблонизаторы и вообще ООП являются больными каким-то там синдромом?

Спустя 42 секунды (2.10.2009 - 12:23) olgatcpip написал(а):
Спасибочки, я её в глаза то и не признавала smile.gif

Спустя 1 час, 2 минуты, 24 секунды (2.10.2009 - 13:25) glock18 написал(а):
Я болен по двум пунктам из трех. Что теперь делать мне...

Вообще говоря, чтобы расставить точки над непониманием концепции подготовленных запросов, объясню вкратце:

1. подготовленный запрос != adhoc (писать отдельно для каждого случая) запрос
2. подготовленный запрос это вовсе не придумка pdo или прочих больных людей, а это стандартная фича любой современной дбмс.
3. подготовленные запросы выполняются совершенно иначе, по сравнению с обычными запросами и "подготовленно-подобными" обертками.

чтобы понять это раз и потом не сравнивать понятность этих конструкций просто прочитать это:
http://dev.mysql.com/tech-resources/articl...statements.html

необходимость использовать подготовленные запросы часто обсуждается, и многие говорят, что использовать их не следует, но аргументы при этом приводятся, относящиеся к их сути, а не просто к нежеланию понять их.

Спустя 28 минут, 41 секунда (2.10.2009 - 13:54) atarix написал(а):
Цитата
Вот скажите мне, дураку. Зачем нужно делать класс для БД? Единственное ему оправдание - использовать его как прослойку, что бы была возможность выбора бд. Но если это не паблик проект, на кой хрен так изгаляться, ведь не будет меняться эта самая база. Ну никак не будет. Ведь это нужно все данные перетащить, что гораздо сложнее, чем решить вопрос с нужным софтом.
Так же и тут, с PDO.
Какой в нем смысл то? Зачем писать надстройку над SQL, вводя в блуд и путаницу тех, кому предстоит с этим потом заниматься. Или вы хотите сказать, что вот это


Отличие класса от приведённого ниже кода в том, что последний - заточка.
Ведь кто знает, какое будущее разработки, представь если этим надо будет пользоватся в паблике, и уже на уровне - "получить случайны цвет пользователя" (бред конечно), писанина, а так это будет работать 1ой строкой. Лучше масштабно начинать, если нет гарантии что задача - конечна и останется таковой, последней. smile.gif

Спустя 23 минуты, 31 секунда (2.10.2009 - 14:17) twin написал(а):
Цитата
Т.е. те, кто использую PDO, шаблонизаторы и вообще ООП являются больными каким-то там синдромом?
Не используют, а разрабатывают и внедряют. Люди, наверняка очень хорошо владеющие языками и как следствие, страдающие манией усложнять простые вещи. Им скучно писать штатными функциями, они "выросли" из этого. Им обязательно нужно "улучшить" PHP и SQL. Потом начнут делать надстройки над смарти и PDO.
Ведь если пишешь
PHP
echo $text;

ты говнокодер. А если
PHP
$display->print_echo($text);

ты офигеннно крут. Только от этого кодя явно попахивает индийскими пряностями. ООП отличная вещь, но зачем доводить до абсурда... Вот это замнчание
Цитата
Ведь кто знает, какое будущее разработки, представь если этим надо будет пользоватся в паблике, и уже на уровне - "получить случайны цвет пользователя" (бред конечно), писанина, а так это будет работать 1ой строкой. Лучше масштабно начинать, если нет гарантии что задача - конечна и останется таковой, последней.
яркая иллюстрация. Нужно же масштабно мыслить, глобально. Уж делать так делать, что мы, маленькие - простые запросы писать, нам класс подавай. Остальное просто заготовки. Причем тут "получить случайны цвет пользователя" , в чем трудность сделать это без PDO? Эти заточки работают не хуже, а зачастую гораздо лучше, чем обертки.
Цитата
1. подготовленный запрос != adhoc (писать отдельно для каждого случая) запрос
2. подготовленный запрос это вовсе не придумка pdo или прочих больных людей, а это стандартная фича любой современной дбмс.
3. подготовленные запросы выполняются совершенно иначе, по сравнению с обычными запросами и "подготовленно-подобными" обертками.


Цитата
но аргументы при этом приводятся, относящиеся к их сути, а не просто к нежеланию понять их.

Суть очень проста. Попытка решить проблемы одним махом. Но при этом забывается другое - создаются другие, еще большие проблемы.
Ведь по сути своей, все эти надстройки - это тюнинг. А тюнинг редко улучшает общие характеристики. Допустим поставив диски с орицательным вылетом, мы получим более устойчивую, а значит более скоростную машину. Но при этом уменьшится клиренс, а это на российских дорогах - о чем говорить.
А если машина вообще вся обвешана спойлерами, фонариками, катафотами и прочими наклейками в виде PDO смарти и иже с ними, это вызывает только улыбку. Детский сад.
Никого лично ввиду не имею, просто очень хорошая аналогия. Я считаю как, красота кода обуславливается двумя показателями. Эффективность и оптимальность. Из них вытекает безопасность, как само сабой разумеющeeся. А все эти рюшечки и бантики...
И не нужно говорить, что это удобно на больших проектах, в команде и т.п. Чушь полная. Я это знаю точно и могу доказать.

Спустя 4 часа, 25 минут, 13 секунд (2.10.2009 - 18:43) Sylex написал(а):
в + PDO:
http://www.php.net/manual/en/mysqli.overview.php

см. посл. табличку

Спустя 25 минут, 40 секунд (2.10.2009 - 19:08) twin написал(а):
И что? Что там такого революционного, о чем я не написал?
Я всё равно никак не могу понять этого мазохизма. Буквально вчера разбирал запрос на полстраницы, сделаный на PDO. Матерков было гораздо больше, чем вопросиков в листинге. Это же кто то сидел-пыхтел-сначала-высчитывал эти позиции для того, что бы я потом окончательно запутался.
Ужосна.

Спустя 10 минут, 3 секунды (2.10.2009 - 19:18) glock18 написал(а):
twin
Да сколько же говорить уже...

?-вопросики это не придумка pdo - это фича mysql. как и многих других дбмс. почитай уже статью, на которую ссылку кинул. я тебе скажу, что ни одна библиотека в принципе не виновата в том, что на ней производят на свет гавно (простите). Я последнее время видел такие страшные запросы с убийственными group_concat, которыми собирается json (там с какими-то вложенными запросами и прочим... этакая строка символов на 800). это страшно, а не просто пересчитать вопросики. ну а вопросики... я же говорил, что можно использовать не их, привязывать параметры на словесные обозначения.

Сейчас я только надеюсь, что мне не придется копать те запросы с group_concat, а написаны они не на pdo, а на обычном lib_mysql.

Итого: выбор библиотеки не влияет на чудовищность творения, созданного на ней. Любой индо-китаец создать чудовищный код, пользуясь любыми средствами.

Спустя 17 минут, 7 секунд (2.10.2009 - 19:35) twin написал(а):
Да прочитал уже давно. А написал еще давнее, еще в первом топике. Вот на это:
Цитата
Normally when you are dealing with an ad hoc query, you need to be very careful when handling the data that you received from the user.

То есть работая с PDO мы решаем не проблему безопасности, а проблему собственной безолаберности. И какая от этого польза? Привыкнуть кодить спустя рукава, жертвуя при этом читабельностью и скоростью?
Почему то считается, что всё должно быть нацелено на разработку. Мол сделать побыстрее, а там хоть трава не расти. Только разрабатывается скрипт день-неделя-месяц, а используется годами. И в итоге расплачиваются за это "удобство" хозяин сайта и обслуживающий персонал.
Это ли не индуаизм, позвольте спросить?

Спустя 34 минуты, 30 секунд (2.10.2009 - 20:10) glock18 написал(а):
Цитата
Это ли не индуаизм, позвольте спросить?

нет, потому что:

1. человек не может работать без ошибок => защитить что-то, да забудет.
2. подготовленные запросы - обычное стремление разделения логики и данных. отнюдь не пахнет паранойей, посколько является хорошим тоном в любом классическом языке программирования.
3. ПЗ помимо такой мелочи как "позволить неэкранировать строки" дают ряд других плюсов.

Спустя 10 минут, 48 секунд (2.10.2009 - 20:21) sergeiss написал(а):
twin, glock18 - я не понял. Вы про PDO сейчас говорите или про подготовленные запросы?

Такое ощущение, что каждый о своём... Как в одной "старой доброй советской песне": "тихо сам с собою я веду беседу" smile.gif (я в детстве не мог понять - что же мне в ней не нравится, в этой песне? biggrin.gif Подрос - понял.)

Один критикует PDO, а другой что-то про ПЗ говорит...


Спустя 4 минуты, 18 секунд (2.10.2009 - 20:25) twin написал(а):
Цитата
1. человек не может работать без ошибок => защитить что-то, да забудет.
2. подготовленные запросы - обычное стремление разделения логики и данных. отнюдь не пахнет паранойей, посколько является хорошим тоном в любом классическом языке программирования.
3. ПЗ помимо такой мелочи как "позволить неэкранировать строки" дают ряд других плюсов.

1. Может и должен. Для этого существуют тест-драйвы. По крайней мере к этому надо стремиться.
2. В корне не согласен. Хорошим тоном должен являться качественный конечный продукт. Это похоже на пельмени. Как бы ты не старался облить их кечупом и майонезом, заводские все равно не будут вкуснее домашних. Оптимально собранный, экономичный, быстрый, прозрачный и легоуправляемый скрипт - вот хороший тон. А не сбор трав от поноса.
3. Абстрактно. Конкретизируй. Пока я вижу что минусы перевешивают.

Цитата
Один критикует PDO, а другой что-то про ПЗ говорит...

Хрен редьки не сладьше. Суть у них у всех одна.

Спустя 7 минут, 53 секунды (2.10.2009 - 20:33) sergeiss написал(а):
Цитата (twin @ 2.10.2009 - 21:25)
Хрен редьки не сладьше. Суть у них у всех одна.

А вот тут позволь не согласиться! Потому что PDO - это надстройка над всеми СУБД, а подготовленные запросы - это фигня, которая работает внутри БД (и ускоряет работу).

И если насчет оценки PDO я с тобой полностью согласен, то насчет ПЗ - нет.

Спустя 8 минут, 9 секунд (2.10.2009 - 20:41) glock18 написал(а):
sergeiss
twin говорит pdo, подразумевая интерфейс который pdo дает для подготовленных запросов.

twin плюсы там же по ссылке.

последнее время у меня уже вторая дискуссия о pdo, и второй раз мне предлагают доказать это. в первом случае я аккуратно все выписывал и исследовал, потому что в первом случае мне предложил это сделать мой начальник. В данном случае я не вижу препятствий отправить по той самой ссылке.

Цитата
1. Может и должен. Для этого существуют тест-драйвы. По крайней мере к этому надо стремиться.


если может и должен, то он бы рождал каждый программы и скрипты уроды. Из-за коих тебе очень невзлюбился pdo и smarty. Любым средством надо уметь пользоваться, и твоя личная эмоциональность явно не служит показателем объективности.

Юниттесты это такая роскошь, по-моему. Очень мало людей согласны платить деньги за "тестирование", а это достаточно дорогое тестирование по отношению к "две девочки-машинистки тыкают все кнопочки подряд". Сам себе поставил phpunit, вот уж радуюсь, что могу теперь себе юнит тесты писать. Так ведь это моя личная инициатива, и это для моих личных проектов или проектов, где разделят мою инициативу.

Кстати, любой хоть компетентный программист, использующий pdo, понимает, что вообще "строки нужно экранировать перед вставкой в запрос" и то, что это не нужно делать при использовании переменной в подготовленном запросе, не стирает это из его памяти.

Стоит только вспомнить сколько уже раз говорилась фраза "sql-инъекция", что понимаешь "это не забыть".

Спустя 1 час, 15 минут, 19 секунд (2.10.2009 - 21:56) twin написал(а):
Мы смотрим на эти вещи совершенно с разных колоколен. Ты с точки зрения разработки, а я с точки зрения дальнейшего обслуживания.

Да, наверно излишне эмоционально, но я высказываю наболевшее. Все последнее время я трачу на разбор завалов из PDO, смарти и прочей ООПэшной биллитристики, хотя мог бы потратить его на более приятные вещи. Потому что мне по наследству досталась куча сайтов, сделанных по твоей философии. Мутных, тяжелых и прилично запутанных.

Разработчики узурпировали власть и давно уже гонятся не за качеством, а количеством. Сжигая мосты и совершенно не думая о том, что это все кому то придется обслуживать. Навьют веревок, потом даже сами через некоторое время блудят в трех соснах.

А на счет твоей ссылки, может я не так как ты силен в английском и не умею читать между строк, но никаких ярких плюсов там не вижу. А вижу то, что описал выше (читай - ухудшение прозрачности кода) и это еще до кучи.

PHP
Sometimes prepared statements can actually be slower than regular queriesThe reason for this is that there are two round-trips to the serverwhich can slow down simple queries that are only executed a single time.



Спустя 34 минуты, 37 секунд (2.10.2009 - 22:31) glock18 написал(а):
Я помню ту статью. И цитата, которую ты привел, говорит о достаточно очевидной вещи. Тем не менее, "могут быть медленнее" и "для простых запросов, исполняемых один раз". С 5.1 версии сервера в mysql включили в кэширование плана запросов при использование ПЗ. таким образом, даже одиночный селект может выполняться быстрее с ПЗ. впрочем, здесь гораздо больше нюансов, и вовсе не факт, что ПЗ будет здесь эффективней и лучше.

Цитата
Все последнее время я трачу на разбор завалов из PDO, смарти и прочей ООПэшной биллитристики, хотя мог бы потратить его на более приятные вещи. Потому что мне по наследству досталась куча сайтов, сделанных по твоей философии. Мутных, тяжелых и прилично запутанных.


Не понимаю, причем здесь моя философия. pdo и тем более smarty относятся к ооп ооочень посредственно. разве что тем, что из себя представляют классы. моя философия не в том, чтобы запутать. и по-моему, должно быть очевидным, что кривость и нерасширяемость зависит в первую очередь от тех, кто пишет, а не от того на чем пишут.

Давно, когда я покупал бас-гитару, услышал фразу (наверняка, ее знает каждый второй):
Цитата
Мастер может сыграть даже на табуретке

Я не знаю, ну сколько можно уже валить все проблемы на табуретки библиотеки, когда все проблемы в тех, кто берется играть на писать с использованием табуретке библиотеки не будучи мастером, которую толком не знает.

Спустя 40 минут, 49 секунд (2.10.2009 - 23:12) twin написал(а):
Цитата
Не понимаю, причем здесь моя философия.

Очень просто. Ты предлагаешь пользоваться защитными средствами, хотя можно всего навсего следовать нескольким незыблимым правилам.
Ты же не суёшь пальцы в розетку, это опасно. На таком же уровне должна быть дисциплина в коде.
А ты предлагаешь всю жизнь проходить в резиновых перчатках, жертвуя при этом тактильными ощущениями. Не только своими. Те, кто будут с тобой здороваться, тоже проживут незабываемые мнгновения. (не стал про другие изделия, нас дамы читают biggrin.gif )

Меня больше не скорость волнует (хотя и это важно), а именно прозрачность. А каждая надстройка ухудшает её, давая преимущества только на стадии разработки. И уже не так важно, кто это пишет, важны принципы написания кода. Так что совсем не
Цитата
должно быть очевидным, что кривость и нерасширяемость зависит в первую очередь от тех, кто пишет, а не от того на чем пишут.

Нет. Зависит от того, как пишут. А из этого следует на чем. Если человек пишет так, как удобно только ему, он пользует всевозможные "акселераторы" написания кода, к коим относится большая часть фреймворков и шаблонизаторов (включая PDO).
А другой человек должен в этом всем копаться, совершенно не понимая логики построения. Тратя на это уйму времени. PDO со своими изысками цветочки конечно, но в общую концепцию вписывается.

Спустя 17 часов, 39 минут, 33 секунды (3.10.2009 - 16:51) Sylex написал(а):
Цитата (glock18 @ 2.10.2009 - 23:41)
у меня уже вторая дискуссия о pdo, и второй раз мне предлагают доказать это. в первом случае я аккуратно все выписывал и исследовал


а я уже давно забил на это дело - что-то доказывать smile.gif

Спустя 1 час, 34 минуты, 49 секунд (3.10.2009 - 18:26) glock18 написал(а):
Ну да, я тоже видимо забью.

Твин, без обид, твои доводы про фреймворки сродни "нафиг мне С, а на асме буду писать". И mysql тоже "акселератор написания" - прослойка между человеком и стандартом sql.

Спустя 17 минут, 49 секунд (3.10.2009 - 18:44) twin написал(а):
Какме обиды, всё предсказуемо. Все диспуты подобного плана закнчиваются одинаково, асмом, бейсиком и иже с ними. Это единственный аргумент, других пока не встречал. Мол ты отстал, не видишь дальше носа своего.

Действительно, чё напрягаться, прогресс не дремлет, все развивается. Асм-сишка-php-фреймворк-шаблонизатор-джумла-юкоз.
Учимся кодить мышкой. К тому все идет.

Всё, я тоже забил. Каждый сам для себя решает.



Спустя 2 часа, 49 минут, 33 секунды (3.10.2009 - 21:34) sergeiss написал(а):
Цитата (twin @ 3.10.2009 - 19:44)
Учимся кодить мышкой. К тому все идет.
Вот смотри... Пройдет лет 5, и поместят тебя (да и меня заодно) в кунсткамеру, с табличкой типа "они умеют кодить не только мышкой"... И будет ходить народ, таращиться, головами качать, и спрашивать друг друга "а зачем это им нужно?" wink.gif biggrin.gif tongue.gif laugh.gif

Спустя 1 час, 13 минут, 28 секунд (3.10.2009 - 22:47) twin написал(а):
biggrin.gif biggrin.gif biggrin.gif
На самом деле вопрос на много глубже, чем может показаться на первый взгляд. Это вопрос профпринадлежности, философии, души можно сказать.
Ведь php это не просто язык, в нем два совершенно параллельных направления. И работают два типа людей.
1. Веб-мастера
2. Программисты.

Первый тип делает приложения. То есть конечный коммерческий продукт. Они заинтересованы в вале, то есть чем больше сделал, тем луче и сытнее. По этому второй тип придумывает для них всевозможные приблуды и примочки.

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

glock18 тоже туда же biggrin.gif От тебя то никак не ожидал))

Стало круто писать на фреймворках (которые кстати тоже кто то разрабатывал), всевозможных шаблонизаторах и прочей хрени. А если даже эти примочки не используются, сохраняется общий стиль. То есть полностью ООП, разделение всего и вся (оправдано это или нет) и так далее.

А тот, кто выбирает оптимальные вещи и применяет их к месту и назначению - безнадежно отсталый человек.

Так вот, это способ мышления, внутренняя философия. Программист ты или вебмастер. Делаешь ты валовый продукт, когда цель оправдывает средства, или пытаешься как то оптимизировать процессы своими алгоритмами.

Опять автоассоциация. Все едут в одной машине в одном направлении. Программист, это тот, кто за рулем. Ему ехать труднее конечно, но интереснее. А рядом вебмастер - пассажир. И всё у них замечательно. Но вдруг ни с того ни с сего пассажир говорит водителю - ты бубень. Ну чего ты напрягаешься, садись на заднее сидение, это же проще в сто раз.

Спустя 6 месяцев, 7 дней, 45 минут, 7 секунд (10.04.2010 - 23:32) Гость написал(а):
biggrin.gif Простите за моё запоздалое вмешательство в эту ОЧЕНЬ ИНТЕРЕСНУЮ И ВАЖНУЮ БЕСЕДУ, но могу уравновесить обе стороны..... (немного предистории: - я в своё время углублённо изучал философию, да и сейчас по мере сил продолжаю, так вот один в один у меня шёл спор с групой молодых искателей истины biggrin.gif о том что зная базовую структуру мышления, присущую всем без искдючения можно развернуть любые законы мироздания и легко работать с любым по сложности набором информации, при этом кажущаяся сложность основных положений науки о мышлении действительно перестаёт быть таковой лишь когда человек становится способным подчинить себя и своё мышление дисциплине и строгости науки.... в ответ же мне указывали на современные разработки в направлениях философий и тд (не буду здесь углублятся) и на то, что эти разработки позволяли достигать результата, на первый взгляд быстрее и проще. мол "просветление " доступно всем и каждому лишь возми и начни пользовать модные "фрэймворки от философии".).... так вот к какому выводу я пришёл: - всё зависит от индивидуального, внутреннего устремления, и таких, как тут заметили "...о которых говорят что они кодят не только мышкой но и руками" во все времена хватало, их меньше гораздо чем тех кто с мышкой biggrin.gif и те кто с мышкой всё равно смотрят на тех кто руками (простите за каламбур)... это так есть и это было всегда. я вот например к программированию пришёл недавно и изначально разковыривал джумлу, затем пришёл к общим принцыпам скьюэля и пхп, потом пришлось разобраться с джейквери, так как осилить просто жаваскрипт неуспевал (это на определённом этапе единственное что мне давало на пропитание), за джейквери пришлось познакомится с пдо... но что самое смешное biggrin.gif я всёравно пришёл к ситуации кагда мне для того чтобы сохранить массив имён в базу никакие библиотеки и фрэймворки не помогли. пока не пришлось подчинитть себя и своё внимание строгости написания простейшей функции. ВОБЩЕМ простите за многословность, просто хотел всем участвующем в этой беседе и вообще всему форуму сказать БОЛЬШОЕ СПАСИБО И (как это нанче модно говорить) РЕСПЕКТ biggrin.gif и творческих реализаций!!!!

Спустя 3 месяца, 19 дней, 18 часов, 43 минуты, 33 секунды (30.07.2010 - 18:16) puchu написал(а):
twin,
я прочитал все это и вот что тебе скажу
я тоже раньше не понимал всех этих обвесов
но сейчас понял
поэтому скажу тебе по русски:

когда ты работаеш над проектом с другими людьми без этого ты не обойдешься:
1) zend framework
2) модули pecl
3) велосипеды pear
4) smarty
5) ну и другое по мелочи

объяснять это - создать еще один холисрач типа вашего
пойдеш работать в крупную контору - поймеш
а пока пиши свои привет миры и не дури людям башку

Спустя 5 минут, 51 секунда (30.07.2010 - 18:21) DedMorozzz написал(а):
Удалять, не удалять, удалять, не удалять пост....
Вобщем вот держи ещё чтива. http://phpforum.ru/index.php?showtopic=27332 Прямо интересно, хоть ещё что нибуть НОВОГО напишешь smile.gif


_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.