Статьи, посвященные различным языкам программирования.

Псевдоконстанты и константы
Значение псевдоконстант меняется, а имя неизменно. Имя начинается с двойного подчеркивания __. Примеры псевдоконстант: __LINE__ — текущая строка в файле.__FILE__ — вернет полный физический путь к текущему файлу.__FUNCTION__ —...

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

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

Цикл foreach
Для того, чтобы пройтись по всем ячейкам ассоциативного массива, применяют цикл foreach. Синтаксис см. ниже. В скобках указываем массив, по которому будем бегать. Потом слово ‘as’ и любая переменная. PHP зайдет в...

Системы управления версиями
Системы управления версиями: Позволяют создавать разные варианты одного документа, т.н. ветки, с общей историей изменений до точки ветвления и с разными — после нее. Дают возможность узнать, кто и когда добавил или...

Циклы while, do while
Цикл while Синтаксис: while (условие){ инструкция 1; инструкция 2; } Условие в скобках должно быть true, чтобы цикл сработал. Простой пример: $sum = 1 while ($i$sum += 3; $i++; print($sum); // вывод $sum } Цикл for и цикл while взаимозаменяемы....

xDebug
PECL (PHP Extension Community Library) — часть PEAR, но существует самостоятельно. Это библиотека расширений, в отличие от PEAR (набор скриптов). http://pecl.php.net — здесь найдете расширения для Unix-систем. http://pecl4win.php.net — расширения для...

Пространства имен
Без пространства имен Предположим, в своем файле я не могу создать функцию strlen. Выскочит ошибка, т.к. уже есть такая функция. Или я пишу класс и думаю, а вдруг уже есть такой класс? Значит выскочит ошибка. Или я задаю...

Введение в UML (Unified Modeling Language)
UML — унифицированный язык моделирования, построения диаграмм: структурные диаграммы; диаграммы поведения диаграммы взаимодействия. Таких диаграмм очень много: На самом деле, uml применяется во многих...

GD2 рисование в php
Рассмотрим функции для рисования текста: // Отрисовка строки текста imageString($image, 3, 150, 300, "Hello!", $color); // Отрисовка строки текста с использованием TrueType-шрифтов imageTtfText($img, 30, 10, 300, 150, $color,"arial.ttf", "Hello!"); // Создание нового...

GD2 работа с графикой
С помощью php можно генерировать изображения ‘на лету’. Для этого есть библиотека GD2. Функционал этой библиотеки очень большой (для сравнения, редактор Paint имеет намного меньше функций). Весь функционал библиотеки...

Функции эмуляции SSI
Большое приложение не состоит из одного файла. Над разными частями работают люди. Затем приложение собирается воедино. Есть технология SSI (включение на стороне сервера). Сейчас многие ее не используют, т.к. в самом php...

Шаблон проектирования фабрика (factory method)
Цель: Определяет интерфейс для создания объекта, но оставляет подклассам решение о том, какой класс инстанциировать.Позволяет классу делегировать создание подклассам. Применение: Классу заранее неизвестно,...

Сессии
Нам где-то нужно хранить промежуточные данные. Не постоянно в базе данных, а на какое-то время. Для этого можно использовать cookies. Но cookie ограничены по размеру, а надо хранить крупные файлы. Пользователь может эти cookie...

Шаблон проектирования singleton
Цель шаблона: Гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.Существенно то, что можно пользоваться именно экземпляром класса, т.к. при этом во многих случаях...

Шаблоны проектирования (Design patterns)
Отношение людей к шаблонам проектирования двоякое: есть просто фанаты, которые применяют их везде, другие же — относятся скептически и не признают шаблонов. По сути, patterns — это выполнение одних и тех же операций...

Сетевые функции
В php есть много вспомогательных функций, с помощью которых можно узнать кучу полезного: $hostname = gethostbyaddr(‘127.0.0.1’); — узнаем имя хоста.$ip = gethostbyname(‘www.example.com’); — узнать ip-адрес.$hosts = gethostbynamel(‘www.example.com’); —...

Пример socket соединения
Вначале создается сокет при помощи функции fsockopen. Параметры функции: адрес, порт, переменная под номер ошибки, переменная под сообщение об ошибке, таймаут (если зависнет, чтобы сокет разорвался). См.строки №1,2. Далее...

Цикл for
Синтаксис цикла: for (часть А; часть B; часть C){ инструкция 1; инструкция 2; } В фигурных скобках указываются операторы, выражения, инструкции, то, что должно выполняться определенное количество раз. Внутри круглых...

Функции работы с почтой
В файле php.ini есть секция с настройками почты — mail function (пишется в квадратных скобках). Но это настройки только для Windows-систем. Нужно установить две настройки: //Настройки в PHP.ini [mail function] ; For Win32 only. SMTP = localhost ; For Win32...

Циклы
Часто бывает ситуация, когда один и тот же кусок кода нужно выполнить какое-то количество раз с небольшими изменениями. Как пример цикла — это отрисовка таблицы (строка — ячейка — ячейка — и т.п.). В циклах...

Работа с файлами на сервере
Файлы — загрузка на сервер Перед загрузкой файлов на сервер, рассмотрим 3 настройки в php.ini: file_uploads (on|off) — разрешить загрузку файлов на сервер или нет.upload_tmp_dir — временная папка для загружаемых файлов. По...

Введение в XML
XML (Extensible Markup Language) — это расширяемый язык разметки. Следует помнить, что XML — это не замена HTML. Это разные вещи. Во все времена была проблема разметки текста. Поэтому сначала был создан язык разметки SGML (из него пошло...

Директории — работа и манипуляции
Функция создания директории — mkdir. Обязательный параметр — имя директории. Необязательный — mode, т.е. для nix-подобных систем это права доступа (например, 0777 — всем все можно). Одна цифра означает владельца, вторая —...

MVC шаблон — структура, FrontController
Структура MVC шаблона проектирования Как правило, у всех фреймворков выработана стандартная структура (может немного варьироваться): application. contrlollers,models,view. images — здесь лежат картинки.styles — здесь лежат файлы...

Файлы для работы с данными
Файлы — манипуляции с курсором Мы можем перемещать курсор. Для это есть функция fseek. Параметры функции: дескриптор файла, offset, whence (необязательный параметр, константа), offset — количество символов, на которые нужно...

MVC шаблон проектирования
Что такое MVC шаблон пректирования? Рассмотрим по схеме ниже: Т.е. видим 3 части: Model, View, Controller. Controller — это какой-то код, который все ‘разруливает’. Первые данные, которые мы получаем, приходят в контроллер. В...

Функции для работы с файлами
Вот несколько основных функций для работы с файлами: //Существует ли файл? file_exists("test.txt") //Узнаем размер файла filesize("test.txt"); //Дата последнего обращения к файлу fileatime("test.txt");//date("d M Y", $atime); //Дата изменения...

Шаблон проектирования observer Наблюдатель
Рассмотрим еще один шаблон проектирования. Его синтаксис: [php] interface SplSubject { function attach (SplObserver $o); function detach (SplObserver $o); function notify(); } interface SplObserver{ function update(SplSubject $s); } [/php] Т.е. существует какой-то стандартный интерфейс...

Работа с сессиями
Вся работа с сессиями начинается с функции session_start. Эта функция создает сессию и обеспечивает к ней доступ (продолжает сессию). Если в начале кода не вызвана эта функция, работать с сессиями мы не сможем. Для работы...