это хорошо. может только стоит немного изменить фразу "Для меня лично не имеет значение будет одна большая строка, написанная мной, или четыре маленьких." кстати, а где делается проверка, что $_GET['id'] не пустой или не содержит DROP TABLES students --?
lexa Да я вроде не маленький обижаться))) С иссетом там я затупил, не спорю. Надо поспать. Ну вот смотри. Тесты же проводились. Вот же ссылка: http://www.php.ru/forum/viewtopic.php?p=162482#162482 Да и сам сейчас ради интереса чисто текстовый скриптик написал. Незначительно, но увеличивается. С одним notice. А если их несколько? И каждый пишется в лог? p.s. notice таки ошибка, только своего "уровня"
Короче http://php.net/manual/en/errorfunc.constants.html Код (Text): E_NOTICE (integer) Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script. Нотис - сообщение о потенциальной ошибке.
Fatal Error, это когда пых говорит нам - я ваще не понимаю что тут делать, идите в попу, я отключаюсь! А Notice - чо за хня? я в принципе могу продолжить, но не факт, что так как тебе хотелось бы. Так что Notice нужно гнать ссаными тряпками.
$_GET['id'] перед установкой значения в запрос он приводит к интовому значенияю (int)$_GET['id']; Считаю это действие достаточно безопасным для установки в запрос. Сразу видно тип знаения. Просто и красиво. Вообще я думал кто нибудь хоть один вопрос по файлу системы задась. Может попробует. А тут снова разговор зашел про нотайсы и плюсыминусы ООП. Как большая часть предыдущих тем. Предлагаю Нотайсы и ООП объявить словами паразитами которые убивают любую тему.
mpak Сорри, за оффтоп. Если ты не понимаешь для чего нужна абстакция и ООП не используй их. Но и не надо доказывать, что они вообще не нужны.
Прочитай сообщения выше. Пишите на чем угодно. Но и мне предоставьте возможность писать на том на чем мне удобно. Не пихайте его везде во все и всем по поводу и без. А то что он не удобный это утверждаю не только я. Много хороших разработчиков считают его неудобным. Насколько помню сам разработчик ООП призначался что делал это на заказ для какой то фирм. И реальной выгоды от него не видит. Если понадобится я могу найти это утверждение. Слова создателя линукса про то что С++ не удобен относительно С я привел выше. Соглашаться с этими утверждениями или считать себя умнее тех кто это утверждает уже ваше дело. Я не используею его не потому что считаю его не правильным а потому что он мне не удобен и некомфортен. Выбор на чем писать должен делать сам разработчик исходя из своих
mpak хорошо держишься. действительно стало интересно, что там за система :-D хоть я за то, чтобы писать код с использованием error_reporting (E_ALL);
http://mpak.su/news/611 Это новость. и http://mpak.su/pages/pid:526 описание того для чего нужна и как устанавливать. ТОлько я не журналист и моя манера изложения вопроса оставляет желать лучшего. В настроящий момент на системе уже созданы десятки сайтов в том числе несколько госучредждений. Возможность использования системы в одном файле лично для меня очень удобна. Так как оставляет возможность менять функционал не затрагивая базовой системы. Это просто трансформер. Позволяет конструировать с системы все что угодно. Несколько сайтов сделанных на системе можно посмотреть здесь http://shop.mpak.su/portfolio но это далеко не весь список. На сервере расположено более 200 сайтов.
Приведите слова линукса, про то, что Notic'ы рулят. СПЕРВА ДОБЕЙСЯ! Вы вольны использовать что хотите и как хотите. Но если проповедуете свои богомерзкие идеи в этом рассаднике неокрепших умов, будьте готовы к тому, что встретите неприятие.
А про нотайсы. У меня есть свои причины на то чтобы не ставить их в дальнейшем и почему не исправляю сейчас. Сложно сформулировать но я попробую. Считаю что подстраиваться под особенности реализации какого то продукта порочной практикой. Использование дополнительных как я считаю конструкций это излишние нагромождения плохо отражающиеся на чистоте кода. У меня как бы расставлены другие приоритеты. Часто нужно делать более чистый код возможно даже в ущерб быстродействию. В данном случае нотайсы это проблема пхп которую допускаю что через пару версия либо совсем испрвят или сведут на к совсем несущественным пределам. А использование в коде ненужных конструкций и функция таких как обьявление пустых массивов и empty($_POST) как собственно и сама привычка их использовать останется. По быстродействию 100000 таких нотайсов выполняется за сотые доли секунды. И если я знаю что подобная конструкция используется в коде один раз а не в цикле то затратами можно принебречь простоте и наглядности. Есть еще пару моментов которые стоит освятить такие как наследственность. Код с дополнительными функциями и проверками более подвержен особенностям реализации и ошибкам в связи с усановкой новых версий продука. Не думали о том что будет если завтра обьявят функцию empty() - Deprecated: Function оп. Подозреваю что вам легче будет смыть весь предыдущий код в унитаз чем исправить все эти нагромождения. В общем мое мнение не сформировано одним фактом быстродействием. Оно сформировано множеством других факторов. Возможно в дальнейшем мнение и изменится. Но в настоящий момент оно такое и я не вижу причин его менять.
Noticы, кстати, на быстродействии сказываются весьма пагубно. Лишняя проверка также выполняется за микросекунды, но именно она является путём к чистому коду. Это не проблема PHP и её не исправят. Это проблема проверки данных, приходящих из неконтролируемого источника.
Отсутствие лишних и ненужных частей является путем к чистому коду. А по пагубности считаю ООП более вредным нотайсам так как нотайсы для мозгов не вредны а ООП ломает его напрочь.
Путём к чистому коду является чистый экран без кода. Вот там точно никаких лишних частей нет, раз для вас проверка данных является лишней. Либо ваш мозг не приспособлен конкретно к этому, либо просто вам не повезло в изучении.
Отличае вас от меня является в том что я не навязываю вам свою позицию. Оставляя выбор в средствах работы за каждым кто с ними работает. Вы ставите свою позицию как единcтвенно правильную насаждая другим свое мнение и не принимая во внимания мнения других достаточно авторитетных людей.
Я вам не навязываю ничего, я просто флеймлю. Когда я выкладываю какую-нибудь свою чепуху, я всегда готов, что набегут флудерасты, да ещё мр.Мит подтянется с ведром какашек. Будьте готовы и вы.
И, кстати, хватит писать чепуху про авторитетных людей, снабжая текст вырванными из контекста фразами.
Да, и я тоже участвовал когда-то в потральной системе, на которой так же были созданы сотни сайтов, сайтов госучереждений и тра-ла-ла. Но ни это количество, ни моё участие, не мешаю мне понимать, что эта система была ср.ным говн.м.
mpak Вы, конечно, вольны писать так, как считаете нужным. Хорошо, Вы можете не использовать ООП, в конце концов, php это не руби. Но, я считаю, что стоит принимать во внимание такие обыденные вещи, как "проверка данных, приходящих из неконтролируемого источника" и "отсутствие ошибок, даже уровня notice, в коде". Аргументация и факты приведены выше.
"проверка данных, приходящих из неконтролируемого источника" Приведите пример в котором они у меня остаются безконтрольными. Если это делается без использования трехэтажных классов и функция это не значит что они совсем не контролируются. Все данные поступившие от пользователя приводятся к нужными типам. И этого более чем достаточно для безопасной работы. Я часто даже перестраховываюсь приводя к нужному типу данные полученные из бд поля id это не параноя. Это перестраховка на случае каких то преобразований данного значения внутри кода и неверной работы функций. Опять же выполнение общего подхода в ущерб быстродействию. Хотя думаю что любая другая используемая функция на порядок медленнее банального (int) А про нотайсы я написал выше. Опять же кто то может согласится а кто то нет. Это право каждого.
Было бы интереснее обсудить формат архива phar Возможно кто то уже использовал его для своих продуктов. Какие впечатления? В процессе настроки возникла проблема может кто то поможет. .htaccess Код (Text): <IfModule mod_rewrite.c> RewriteEngine On RewriteCond mpak.phar/%{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /mpak.phar [QSA,L] </IfModule> Вызывает ошибку. Не получается подставить перенаправление запросов на ресурсы внутрь архива. Как можно решить эту траблу? Пришлось делать модуль который динамикой отдает ресурсы. Решение подобной проблемы пока не нашел. Вызов index.php внутри архива работает нормально а перенаправить запрос на картинку внутри архива не получается.