Блог

1 2 3 4

03-10-2014
6
7196
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

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

Продолжим цикл статей про паттерны. Прошлая статья моя была про конструкцию global. Если кто читал, там мельком описывался паттерн Registry (реестр). Ну вот сейчас попробую описать его немного подробнее, разжевать в манную кашу, так сказать. Вообще суть любого паттерна - упростить то, что мы до этого специально усложнили. Давайте проследим "эволюцию" зарождения патерна Registry. Сначала было слово... Нет, не так далеко. Сначала были машинные коды. Потом, для упрощения, появились языки программирования (ЯП). Это своего рода программы, фактически переводящие человеческую речь в те самые машинные коды. Первые ЯП были просты и примитивны, и, как ...
Теги: Паттерны | PHP
04-09-2014
6
3819
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

global - зло?

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

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

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

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

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

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

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

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

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

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

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

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

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

Выбор движка БД. InnoDB vs MyISAM.

Вообще изначально SQL разрабатывался как записная книжка для компьютера, и использовался примерно так же. Но время идет, требования к хранению и обработке информации растут и то, что закладывалось в СУБД изначально уже не всегда соответствует текущим потребностям. Соответственно появляются новые инструменты и мы должны выбирать, что поставить под капот нашего приложения. История эта началась примерно в 2005 году, когда учитывая недостатки существующих СУБД был разработан движок InnoDB, а особенно когда его поддержку начал осуществлять MySQL. Революционным отличием InnoDB стало отношение к целостности данных. Этот движок начал поддерживать транзакции и внешние ключи, а так же блокировку на ...
Теги: MySQL
20-09-2013
1
3485
Голосовать могут только зарегистрированные пользователиГолосовать могут только зарегистрированные пользователи

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

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