Блог

1 2 3 4

04-09-2014
6
3887
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

global - зло?

Конечно да! - воскликнет 90% программистов, ведь это (впитывается с молоком матери) написано на всех Хабрах, Мабрах и иже с ними. И приведут кучу обоснований: 1. Сложно понять, где инициализируется переменная, доступ к которой осуществляется посредством global. Соответственно это ухудшает читабельность кода. 2. Глобальная переменная может быть переопределена в дебрях скрипта, и найти это место очень сложно. А значит велик риск сложнодиагностируемых логических ошибок. 3. Код становится сильносвязанным, выполнение одной части будет зависить от другой, где глобальная переменная определена. Ну и еще кое-что по мелочи. Не стану с этим спорить, все так. Однако посмотрим, что предлагается взамен. ...
Теги: PHP
24-05-2014
0
10280
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Определение IP пользователя.

Многим уверенным пользователям интернета известна эпическая фраза, наводящая ужас на бедных анонимусов: Однако не все умеют делать это правильно. И в силу этого рискуют получить неверное значение IP, а в результате получить по морде лица, если по этому неверному адресу окажется не тщедушный ботаник, а какой-нибудь Чак Норрис. Вот дабы избежать подобных досадных недоразумений, попробуем разобраться, что такое IP и как его правильно "вычислить". IP - это аббривиатура понятия Internet Protocol, того самого протокола, который объединяет различные компьютерные сети в наш горячо любимый интернет. Как устроен этот протокол и какие у него особенности - отдельная ...
Теги: PHP | Флейм
18-02-2014
7
5579
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Загрузка файлов

Часто возникает ситуация, когда нужно обеспечить пользователю возможность самостоятельно загрузить на сервер какой то файл. К примеру аватарку на форум. Так вот - загрузка файлов не очень сложная операция на самом деле, если усвоить несколько моментов. Начнем по порядку. Нам понадобится форма загрузчика: Главное, чем отличается форма загрузки файлов от обычной формы, это атрибут ecntype="multipart/form-data", который как раз и указывает на то, что будет загружаться файл. Для загрузки файлов надо использовать метод POST. Тег <input> с атрибутом file позволяет пользователю выбрать загружаемый файл. Далее пользователь выбирает файл, нажимает кнопку загрузить, и за ...
Теги: PHP | HTML
17-02-2014
0
2821
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Кодировки файлов

Я не зря именно так назвал статью. Я прекрасно знаю, что нет понятия "кодировка файла". Однако народ с каким то невероятным упорством продолжает оперировать этим термином. Ну а значит, рано или поздно, они придут сюда по такому запросу. Ну а что же есть, если нет кодировки файла? Сначала давайте разберемся, что вообще такое "кодировка". Любой символ на экране монитора состоит из совокупности точек. А значит, чтобы отрисовать какую-нибудь букву, нужно задать компьютеру множество координат этих точек. Кроме того, шрифты бывают разными по величине, жирности, наклону, цвету наконец. Представьте себе объем информации, который требуется для передачи координат точек допустим текущей ...
Теги: PHP | HTML
26-12-2013
8
6220
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Паттерны в PHP (Singleton)

Начинающие программисты, столкнувшись с ООП, обязательно натыкаются на необходимость использования (ну или хотя бы понимания) шаблонов проектирования. И это многих пугает. Мало того, что сама парадигма достаточно сложна для понимания, так еще и паттерны какие-то. И хотя они как раз и придуманы для облегчения использования парадигмы, на первых порах играют как раз обратную роль. А всё из-за того, что те, кто придумывают паттерны, давно в ООП как рыба в воде, соответственно и объясняют их со своей колокольни. И получается замкнутый круг. Не зная паттернов сложно грамотно использовать ООП парадигму, однако не зная ООП сложно понять эти самые паттерны. А все ...
Теги: Паттерны | PHP
17-12-2013
2
3516
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Транслитерация

Статья в рамках программы переноса материалов со старого сайта. Транслитерация - есть передача звучания речи на одном языке посредством записи ее символами алфавита другого языка. На практике такая необходимость встречается не часто, но для аргументации приведу пару примеров: 1. Передача русской речи с компьютера из-за границы, где не предусмотрена русская раскладка клавиатуры. 2. Оформление заголовков (например, в библиотеках), где название не должно переводиться. 3. Написание фамилии в загран-паспорте. Ну и прочее. В сайтостроении это действие нужно там, где нельзя использовать кирилицу, а исходный текст именно на ...
Теги: PHP | seo
11-12-2013
11
4737
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Базовая аутентификция.

Статья в рамках программы переноса материалов со старого сайта. Базовая аутентификация - простейший вид защиты каталогов на сайте. Но не смотря на её простоту, она достаточно надежна для того, чтобы спать спокойно, не опасаясь за сокровища, которые хранятся на сайте. Правда есть одна тонкость. Если PHP стоит не как модуль, а как CGI, то такая аутентификация работать не будет. Увы. Давайте рассмотрим, как это можно сделать. Вариант 1. Защита подключаемым файлом Раз мы не используем базу данных, то значит аутентификационные данные будут хранится в файле. Чтобы они не стали достоянием общественности, файл должен быть исполняемым, то ...
Теги: PHP | MySQL
20-09-2013
1
3530
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Практическая кинология или вред/польза собачек.

Я с детства боюсь собак. Меня ребенком одна овчарка сильно куснула, до сих пор при виде пса холодок по спине. Поэтому неписаное правило в PHP "собака - зло" я принял с энтузиазмом и всячески старался их избегать. Однако в жизни есть куча примеров, когда собаки приносят пользу. Поводыри, спасатели, следопыты, да и просто позитифф. Значит не нужно отрицательно относиться ко всем скопом. С недавнего времени я и в программировании пересмотрел для себя некоторые моменты кинологии. Все ли собаки "злые"? Всегда ли их нужно избегать? Давайте сначала разберемся, от чего программисты их так боятся. Две основополагающие ...
Теги: PHP
02-09-2013
7
3474
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Информер валют

Тут взялся я привести в порядок информер валют и что-то увлекся... Не, я понимаю, что вряд ли кто-то решит поставить себе такой класс. Это я скорее писал для себя, потешить самолюбие, да и сео не навредит, может какая-нибудь заблудшая душа придет на наш сайт по запросу "хочу валюты". Но в любом случае поделюсь решением. Может хотя бы частности пригодятся. Сначала я хотел расписать поэтапно, как такое безобразие может придти в воспаленный от бессонных ночей мозг. Но быстро понял, что формат блога не выдержит такого объема. А посему ограничусь комментариями в коде и лучше подробнее опишу, как с ...
Теги: PHP | HTML
01-08-2013
2
5304
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

Exception VS trigger_error при дебаггинге.

Для начала давайте разберемся, что это за кракозяблы в заголовке. Exception (англ. исключение) - механизм перехвата ошибок, введенный в 5-й версии PHP. Своими словами можно объяснить так. Представьте школу, в ней класс, в классе ученики пишут контрольную. И вдруг один ученик начинает плохо себя вести: кривляется, пускает самолетики или вообще курит. Учитель берет его за ухо и ведет в кабинет директора. И директор решает, что с ним сделать. Пожурить и простить на первый раз, вызвать родителей или вообще выгнать из школы без права на восстановление. Тут школа - это программа, полностью приложение. Класс - ...
Теги: PHP
1 2 3 4
 
Наверх