вторник, 18 мая 2010 г.

DB in php

В пхп есть два способа работать базами данных:
1) Через специализированные расширения под конкретную бд.
2) Через абстрактный слой -- это дает возможность мигрировать на продукт нового поставщика БД без серйозного изменения кода.

понедельник, 17 мая 2010 г.

php обработка ошибок

Как обрабатывать ошибки в php мы можем задать в .ini файлах. 
Уровень у этих директив PHP_INI_ALL (есть исключение для XMLRPC ошибок -- они PHP_INI_SYSTEM)

Директивы можно ставить в рантайм by ini_set, а error_reporting мы можем поставить by error_reporting()

воскресенье, 16 мая 2010 г.

Ссылки в php

Используются они для:
1) Для передачи по значению в функцию.
2) Для создания юниксподобных твердых ссылок.
3) Для возврата по ссылке.

суббота, 15 мая 2010 г.

Работа с сессиями

Продолжаю писать тестовое задание по пхп. Решил не искать легких путей и разобраться в вопроссе сессий глубоко. Тем более они мне показались мутным делом.
Есть вариант, что это все легко. Но как всегда есть но!
И так сессии, в последних версиях пхп этот процесс сделали полнстью атоматизированным и почти не нужно о нем беспокоится. Поведение сессий настраивается в php.ini, а также есть функции переопределия настроек в режиме выполнения (и это не только set_ini()).

пятница, 14 мая 2010 г.

Тонкий момент регулярок в javascript

Пишу тестовое задание для должности пхп программиста. Решил использовать для валидации регеспы, как на клиентской, так и на серверной стороне.

В javascript регеспы создаются обьектом RegExp(pattern, flag).
Есть более короткая форма:
var patt = /^[A-za-z_][A-za-z_]{2,}@mail.ru$/g;
Теперь, чтобы проверить на соответсвие некую строку, мы пишем:
var bool = patt.test("Наша строка");
Но тут мы натыкаемся на проблему, после этого обьект разрушается и мы не можем проверить еще одну строку
Выход есть, просто нужно делать вот так:
var bool = "Наша строка".match(patt);
var bool2 = "Наша вторая строка".match(patt);