PHP . Советы для маленьких.

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

Несколько недель назад, мой знакомый Саша МЁД ака UGW.RU, попросил меня сделать галерею для его сайта. Задачи весьма простые - "Что бы админ сам мог загружать фотки.", плюс жесткие ограничения на память, так как хостинг от ur.cbr, сцука, хитрый.

От использования фреймворков пришлось отказаться, по вышеназванным причинам, но делать сайт на чистом php это не true way. Пришлось просто собрать из готовых классов удобную среду.

Правило первое: Используйте фреймворки или шаблонизаторы.

Предпочтительнее конечно использовать фреймворки, коих сейчас большое множество: Code Igniter, Symphony, CakePHP, но когда вам нужно сделать сайт на 3-10 страничек (видов), то проще бывает использовать шаблонизатор.

Я в данной ситуации выбираю Smarty, с коим мне как раз и пришлось познакомиться. Из всех вариантов, он показался мне самым простым, гибким и функциональным. Главное что он позволил весьма быстро решить поставленные задачи и не заниматься изобретением велосипеда.

Правило второе: Не пытайтесь изобретать колесо, используйте готовые решения.

Если ваш проект подразумевает работу с базой данных, используйте библиотеку созданную для упрощения этих задач. Я, к своему стыду, знаю только одну библиотеку для работы с БД - DbSimple. Хотя, наверно, это из-за того, что она отлично справляется со своими задачами: упрощает написание и создание запросов, легко позволяет ими манипулировать, защищает от sql injection. Это, правда не значит, что нужно перестать проверять данные. Данные нужно прогонять через фильтры всегда, при вводе и при выводе.

Правило третье: Дебажьте. Используйте FireBUG и FirePHP.

Эти расширения, для Mozilla FireFox позволяют экономить кучу времени, при работе с данными, и помогают отказаться от любых дебаг методов типа "есho" OR "print_r()".

Я уверен, что эта информация полезна, только для самых маленьких, а вы и так всё это прекрасно знаете. Ага.

Ну и пользуясь случаем, хочу передать привет тем, кто прививает мне любовь к хорошему программированию:

Future Colors → Умные заказывают сайты здесь, остальные идут на ..й


Говнокодинг или «не хочу!»

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

Вот я сейчас в такой же ситуации. Что бы вам было понятнее о чем я говорю, то поясню - я пишу что нибудь по двум причинам:

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

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

Так вот, обещал я недавно дружбану помочь с одной херью, вещь действительно элементарная и кодить там килобайт 200, наверно. Но это просто фантастика, насколько мне лень этим заниматься. Потратил на уговоры себя почти 6 часов. В промежутках успел поужинать, посмотреть телек, попить чайку с бубликами, поиграть в гта, а написал всего строк 150, не больше. Просто не хочу и всё. Пытаясь понять почему так происходит, нашел интересную позицию: "Потому что очень однообразно и скучно", проект действительно представляет из себя элементарную вещь, но кучу мелких файлов.

Подключать фреймворки тоже лень, да и настраивать их отвратное занятие. Помню, когда, последний раз попытался сделать сайт для hiphoptv, то потратил минут 40 только на конфигурацию Code Igniter и подключение к нему доп. библиотек (firephp, dbsimple...), в итоге пока собрал, затрахался настолько что дальше дело не пошло.

Когда уже сделают нормальный класс для изготовления сайтов, а-ля:

createSite("социальная сеть, что бы в друзья добавлять и музыку с фотками и видео загружать");

или

createSite("типо социальная сеть, но с уклоном на блоги, что бы люди писали, писали, писали и еще там были свои кумиры, кто нибудь из известных дизайнеров и политиков");