В пхп есть два способа работать базами данных:
1) Через специализированные расширения под конкретную бд.
2) Через абстрактный слой -- это дает возможность мигрировать на продукт нового поставщика БД без серйозного изменения кода.
вторник, 18 мая 2010 г.
понедельник, 17 мая 2010 г.
php обработка ошибок
Как обрабатывать ошибки в php мы можем задать в .ini файлах.
Уровень у этих директив PHP_INI_ALL (есть исключение для XMLRPC ошибок -- они PHP_INI_SYSTEM)
Директивы можно ставить в рантайм by ini_set, а error_reporting мы можем поставить by error_reporting()
Уровень у этих директив 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).
Есть более короткая форма:
В 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);