Архив Программирование

Вложенность в регулярных выражениях

Мастера регулярных выражений могут делать настоящую магию. Вместо того, чтобы писать сложные лексические анализаторы, они могут одной строчкой сделать всю работу. Это как игра го - изучить основы очень просто, но чтобы стать настоящим профессионалом нужны годы опыта.

Допустим, есть строка

CODE:
  1. begin someFunction("test"); end;

Нужно выделить из неё

CODE:
  1. ("test")

Элементарно

PHP:
  1. $s = 'begin someFunction("test"); end;';
  2. preg_match('#\(.*?\)#', $s, $m);
  3. print_r($m);

выведет

PHP:
  1. (
  2.     [0] => ("test")
  3. )

Но в боевых условиях пользователи обязательно рано или поздно добавят параметр со скобками

CODE:
  1. begin someFunction("test",(5+3)*2); end;

Читать полностью >>

5 комментариев

Как попасть в DMOZ или первый бестолковый пост

Я ненавижу, когда люди в блогах пишут о том, как им плохо или наоборот хорошо. Есть тема блога, так о ней и пиши, нечего о всяких пятничных кошках рассказывать. И казалось мне, что я до этого никогда не докачусь и будут у меня посты только с кучей кода, который все будут использовать и придёт ко всем счастье.

Не тут-то было - я недавно искал ещё полезные сайты о PHP и расстроился, увидев, что русскоязычных ресурсов в DMOZ очень мало. И подал заявку на то, чтобы быть редактором раздела. И меня приняли.

Теперь я почётный редактор раздела World/Russian/Компьютеры/Программирование/Языки/PHP. Я уже успел добавить cake-php.ru о моём любимом фреймворке и ещё несколько более-менее адекватных сайтов, которые тоже подали заявки, но не были рассмотрены так как у раздела не было редактора. Несколько дурацких сайтов удалил. Сейчас разбираюсь, могу ли я добавить свой блог (1. Я аффилиирован с ним; 2. Это всё же блог, а не полноценный сайт) и что делать с сайтами компаний, которые пишут под заказ PHP-скрипты.

А теперь внимание!
Если у вас есть сайт, посвящённый PHP, то перейдите сюда, нажмите ссылку "предложить URL" в верхнем правом углу и заполните анкету. Заранее должен предупредить, что по правилам DMOZ ваш сайт должен иметь интересный контент и большей частью быть посвящённым PHP. А те, кто пишут о Perl, пусть идут в #@$% :)
Блоги тоже добавляйте, если их будет действительно много, то можно будет попробовать создать подраздел "Блоги".

Оправдываясь за отсутствие кода в этом посте я обещаю со следующего поста начать разработку учебного проекта на CakePHP в котором покажу от начала до конца как разрабатываю cake-проекты. Думаю, будет интересно не только для новичков в Cake.

8 комментариев

Зачем нужно тестирование?

Лет 7 назад я думал, что тестирование - это когда берётся программа и по очереди нажимаются все кнопочки и записывается результат. Для многих, к сожалению, это до сих пор так. Сейчас я понимаю, что основа тестирования - это классные модульные тесты.

Модульные тесты разделяют программу на части и доказывают, что каждая из этих частей работает. А это увеличивает вероятность работоспособности программы в целом :).
Читать полностью >>

4 комментария

Страница 1 из 11