За последние 24 часа нас посетили 18838 программистов и 1704 робота. Сейчас ищут 842 программиста ...

Doctrine - Open Source PHP ORM

Тема в разделе "Прочие вопросы по PHP", создана пользователем topas, 9 мар 2008.

  1. bvn

    bvn Активный пользователь

    С нами с:
    21 авг 2008
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Полтава, Украина
    Я, наверное, совсем плохо представляю суть ORM, но изложу свое мнение на этот счет. Чего я жду от реализации ORM?
    1. Генерация БД по краткому описанию XML, а еще лучше YAML
    2. Генерация рыбы классов для обращения к табилцам и их связкам - минимальный набор CRUD
    3. DBAL позволяющий осуществлять выбор оптимальной БД и в случае необходимости переход с одной БД на другую, в числе которых (MySQL, Postgree, SQLite обязательно, остальные желательно).
    Вот такой набор требований. Чувствую, что это не все, что настоящий ORM дает нечто большее, чего я не понимаю еще, поэтому установка и освоение существующих реализаций мне кажется слишком замороченной... найти бы чего по-легче... или вот уже думаю, не написать ли свое, но найти готовое все же лучше.
    Так вот начинал с propel - увидел его в составе symfony, очень понравилось... Попытался установить сам и обломался: на оф. сайте последняя версия - архивы битые, не распаковываются; в Debian-репозиториях отсутствует, как и Creole; установка через pear обламалась из-за отсутствия того же самого Creole - не знаю, что это такое и зачем оно нужно, но на сайте у них написано, что этот проект мертв и больше не поддерживается. После всего этого использовать propel перехотелось.
    Сейчас смотрю в сторону Doctrine, установка вроде бы проста, а вот разглагольствования на счет DQL в самом начале мануала меня смутили... Что это и нафига оно нужно? Вобщем, боюсь что эта реализация тоже будет отметена по причине излишней замороченности в использовании...
    Поскольку других пока не нашел еще (продолжаю искать, если подскажете - спасибо), то все больше склоняюсь к самописанию.
    ActiveRecord в CI (а именно его я собираюсь использовать в ближайшее время) не устраивает лишь одним - отсутствием нормального скафолдинга (генерация базы и рыбы класов по XML или YAML). Зачем делать руками то, что должен делать компьютер?
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    bvn, зачем доверять компьютеру то, что можно сделать руками? Антитезис твоей последней фразы. Честно, и первая фраза ни к чёрту, вторая и третья то же. :) Нафига тебе Дура которая будет позволять скакать от БД к БД? Полезно? Нет. Нужно? Нет. Пригодится хоть где-то? Очень вряд ли.

    А генератор класснов нафига, имеешь тысячи таблиц шоли?

    Не-не-не, ORM должен уметь работать с разными структурами БД, но не обязательно с разными БД. Классы можно описывать, а можно и нет. Ятаксчитаю. ORM есть упрощалка и "видовалка" (от слова вид) запросов. Не больше.

    P.S. Скафолдинг это, по моему, и есть генератор простых CRUD страниц. Ну, в "СЕмфонии" (юмор) и "Джанге" вроде так.
     
  3. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    вот, блин, археологи.

    Простите, гражданин, а где вы это видели и как это выглядит?