:-)
  • PHP 25.02.2009 1 Comment


    Продолжаю посты про symfony. Сегодня сделаем динамический роутинг. То есть будем добавлять правила роутинга из php, минуя routing.yml. Это нужно, например, если вы хотите делать страницы вида http://site.com/page1, где page1 может быть создана, может быть удалена и прочее. Дело в том, что указать какой-то общий шаблон нельзя, потому что иначе он будет конфликтовать с дефолтным /:module. Что делать? А вот что. Читать дальше...

    Tags: , ,

  • SQL 23.02.2009 2 Comments

    Тем, кто изучает симфони известно, что админку часто делают через "generate:app backend". То есть мы создаем приложение внутри нашего проекта. Это прекрасно, но есть одно НО. Чтобы нам зайти в админку требуется писать http://project/backend.php/some-admin-pages. Можно конечно обьяснять заказчикам, что мол понимаете, это другое приложение внутри проекта, другой фронт-контроллер, так надо. Но лучше сделать иначе. Скажу сразу, этот метод взят с официального форума симфони. Но найти его проблематично.

    Метод таков:

    1. Создаем папку "admin" внутри папки "web". Копируем туда .htaccess из той же "web", и заменяем
      RewriteRule ^(.*)$ index.php [QSA,L]
      на
      RewriteRule ^(.*)$ ../backend.php [QSA,L]
    2. Идем в настройки роутинга для backend (app/backend/config/routing.yml) и добавляем папку /admin/ ко всем роутам. Например:

      # default rules
      homepage:
      url: /admin/
      param: { module: default, action: index }

    3. Меняем no_script_name на "on" в настройках backend (app/backend/config/settings.yml):
      prod:
      .settings:
      no_script_name: on
    4. Чистим кеш и заходим в папку: http://project/admin/ без проблем.

    Tags: , ,

  • Кратко:
    Моя YACI состоит в том, чтобы сделать чекбокс, и положить его в display:none контейнер. После чего onload страницы ставить туда галочку.

    + Юзеру ВООБЩЕ ничего не надо делать
    + Нет никаких назойливых картинок (все помнят котят рапиды?)
    + JS выполняется только в браузере. Спамилки и прочие ими не являются.

    - Не у всех включен JS. (Мой проект широко использует JS, поэтому там без него делать нечего)
    - Все равно не спасает от custom спамилки. (от них по-моему ничего не спасает)

    Идея по-моему здравая, хотя и неуниверсальная.

    Tags:

  • PHP 18.02.2009 2 Comments

    Сейчас по долгу службы я работаю над движком для одного сайта. И сделать я его решил с использованием фреймворка, о котором слышал много хорошего. Я говорю о Symfony. Заниматься копипастом хвалебных речей с других сайтов я не буду, сам писать подобное так же не буду. Скажу только, что поначалу мне было трудно разобраться. Я даже хотел все бросить и писать на своей простой MVC системке, но в итоге не бросил. Упорно читал мануалы, стал понимать принципы построения приложения с использованием симфони. Собственно тут я хочу лишь выложить ссылки, которые могут помочь тем, кто будет изучать symfony.

    Конечно, ссылка номер 1 это ссылка на главный сайт: http://www.symfony-project.org/
    Там большое количество документации, которые стоит осилить. Я пожалел времени, начал рубить сплеча, однако сейчас все равно пришел к тому, что надо читать мануалы и я их читаю. И всем придется, кто хочет понять всю мощь этого фреймворка.

    Ссылка номер 2 - это ссылка на главный гайд "симфонистов" The Book (PDF). Книга на английском. Методично рассказывается о всех сторонах фреймворка.

    Ссылка номер 3 - это практическое руководство, так называемые Askeet (PDF) и Jobeet (PDF). Они обе используют Propel в качестве ORM вендора (на есть вариант и для Doctrine). Имейте ввиду, что Askeet был написан для Symfony 1.0, а Jobeet для 1.2. В сети есть переводы некоторых глав на русский.

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

    Tags: , ,

  • блог 11.02.2009 Комментарии отключены

    Два таких поста подряд про wordpress получается. Захотел я померять с помощью WP-Tuner сколько же памяти жрут мои плагины. Вышла вот такая картина:

    Название Версия Потребление памяти, Мб
    XRDS-Simple 1.0 0,072
    OpenID 3.2 3,628
    All in One SEO Pack 1.4.7 0,777
    No Self Pings 0.2 0,006
    RusToLat 0.3 0,043
    WP-phpMyAdmin 2.10.3 0,011
    Блокировка запросов на новые версии 1.0 0,004
    Google XML Sitemaps 3.1.2 0,061
    Akismet 2.2.3 0,345
    Yet Another Related Posts Plugin 2.1.6 0,334
    WP Super Cache 0.9 0,859 - 0,368 *
    Subscribe To Comments 2.1.2 0,508
    WP-NoRef 0.4 0,053
    WP-PageNavi 2.40 0,061
    WP-RecentComments 1.7.2 0,255

    *В зависимости от того, включен кеш или нет.

    Tags: ,

  • блог 11.02.2009 3 Comments

    Сегодня блог мне предложил: "Хей, давай обновимся до 2.7.1 автоматически".
    Ого, - подумал я, - раньше был плагин, который работал кое-как, а теперь все автоматически. В общем согласился. Все произошло быстро, чем меня очень порадовало. Однако WP Tuner тут же показал, что расход памяти вырос на 20 мегабайт (!!!). Было 6, стало 26. Причем 19 стало уходить на плагины. Из более-менее ненужных нарушителя выявить не удалось. Остальные трогать не очень хочу. Поэтому если вам ваш блог предлагает обновится до 2.7.1 - подождите лучше пока ситуация не прояснится.

    UPD: Глянул статистику хостинга. Не знаю как с памятью, а процессорная нагрузка не выросла, слегка даже уменьшилась. Скорее всего дело в WP_Tuner'e. Я свои претензии отменяю =)

    Tags: ,