ФорумПрограммированиеПыхнуть хотите?Готовые решения → Велосипедные библиотеки

Велосипедные библиотеки

  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 14:10, спустя 3 минуты 18 секунд


    я все понял, просто для прикола альтернативный вариант предложил.
    так себе вариант )
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 19 апреля 2010 г. 14:30, спустя 8 дней 20 минут

    для фронтенда нужно сделать систему двухпроходного рендеринга.

    1) загружается и парсится шаблон с виджетами, добавляются js/css-файлы, генерируется page title, meta-парамтеры
    2) полученная страница (body) ассигнится сюда вместе с прочей еруедой, добавленной в пункте 1.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <!–<meta http-equiv="Content-Type" content="text/html; charset=[:system.charset:]" />–>
    <base href="[:system.url:]" />

    [:system.js|safe:]
    [:system.css|safe:]

    <title>[:page.title:]</title>

    {% if page.meta_keywords %}
    <meta name="keywords" content="[:page.meta_keywords:]" />
    {% endif %}
    {% if page.meta_keywords %}
    <meta name="Description" content="[:page.meta_description:]" />
    {% endif %}
    </head>

    <body>
    <!– debug disabled –>

    [:page.body:]

    </body>
    </html>



    в админке виджеты запускать нельзы, поэтому рендеринг однопроходный
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 19 апреля 2010 г. 16:08, спустя 1 час 38 минут 1 секунду

    хм, а может этот шаблон - лишняя прослойка? а биндить JS-файлы через str_ireplace('</head>', $js . '</head>', $page)?
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 19 апреля 2010 г. 17:26, спустя 1 час 17 минут 40 секунд

    а может эту прослойку сделать на нативном пыхе? У меня паранойя, что слишком много ресурсов уходит на генерацию страниц


    upd: когда проектируешь и пишешь либы то все вроде бы славненько. Доходит дело до реального применения - они обрастают кучей хаков((
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2010 г. 17:06, спустя 23 часа 39 минут 25 секунд

    BL_Auth_Manager_Users занят созданием/удалением/редактированием пользователей.

    $this->um = BL_Auth_Manager_Users::instance()
    ->setSettings(array('users' => array('withoutNick' => true))) // этой строкой кода мы разрешили пользователям регистрироваться без логина, только с мылом
    ->setMessages(array(
    /* тут можно выставлять свои сообщения об ошибках (локализированные). Автоматическая локализация error-msg также планируется */
    ))
    // изначально BL_Auth_Manager_Users всеравно какая длина у нашего пароля. Но мы хотим задать ограничения: не короче 3 символов и не длиннее 20
    ->addRule(BL_Auth_Manager_Users::CREATE, 'pass', 'length', array(), array(3, 20));


    единственное что плохо - для UPDATE тоже нужно будет прописывать эту стоку, что мне не нравится. Ну и с подтверждением пароля нужно как-то самому колдовать, еще одну инстанцию валидатора отдельно создавать
    Спустя 91 сек.
    я думаю, что можно как-то совместить через BL_Auth_Manager_Users::CREATE & BL_Auth_Manager_Users::UPDATE, но я не силен в побитовых операциях
  • kostyl

    Сообщения: 5205 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2010 г. 17:33, спустя 27 минут 1 секунду


    upd: когда проектируешь и пишешь либы то все вроде бы славненько. Доходит дело до реального применения - они обрастают кучей хаков((

    У меня всё время такая фигня, только последнее время всё меньше и меньше…
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2010 г. 19:25, спустя 1 час 52 минуты 18 секунд

    может взять и заюзать Phemto?
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2010 г. 20:07, спустя 42 минуты 26 секунд

    просто боюсь что не потяну такое.

    Что если через главный класс (BL_Application) получать инстанции всего и где-то в конфиге описывать что есть что:
    $this->app->load('db'); // вернет BL_Database или какой-то другой класс, совместимый с чем-то там.
    upd: Да, так и буду делать.
  • qfox

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz 20 апреля 2010 г. 19:44, спустя 23 часа 36 минут 36 секунд

    Ога.)
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 24 апреля 2010 г. 5:39, спустя 3 дня 9 часов 54 минуты

    после знакомства с Маджентой я подредактировал структуру директорий:

    code/
    –core/        # BL
    –local/       # свои классы (свой translate-драйвер, которого нет в BL)
    –modules/
    —-backend/
    —-frontend/
    –vendors/     # Twig, ZF, Geshi, Jare, …
    –bootstrap.php

    var/
    –cache/
    —-template/ # скомпиллированные шаблоны от Twig
    —-static/   # css-,js-файло
    ——minified/
    ——gzipped/
    –log/        # error.log'и
    –session/    # файлы сессий
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 24 апреля 2010 г. 5:32, спустя 23 часа 53 минуты 28 секунд

    Абырвалг, Magento просвещает =)))
    Спустя 56 сек.
    я после того как начал ее хуячить тоже много чего переосмыслил))))
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 9 мая 2010 г. 3:50, спустя 14 дней 22 часа 18 минут

    [h2]nested transactions[/h2]

    $trans = $this->db->transaction('my-transaction'); // уникальный идентификатор транзакции
    $trans->query('INSERT INTO :table_one SET [email protected]', array('foo' => 'bar'));

    // где-то в другом классе
    $this->db->transaction('my-transaction')->query('DELETE FROM :table_two WHERE id > 50'); // получаем вот ту нашу транзакцию

    $trans->commit(); // коммитим ее. Но это не обязательно, все транзакции автокоммичутся по деструктору
  • kostyl

    Сообщения: 5205 Репутация: N Группа: Джедаи

    Spritz 9 мая 2010 г. 5:46, спустя 1 час 55 минут 59 секунд

    а на одном соединении в Mysql можно стартовать две транзакции одновременно?
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 9 мая 2010 г. 6:07, спустя 20 минут 42 секунды

    сомневаюсь. Поэтому и сделал свой BL_Database_TransactionStorage, позволяющий делать это
  • kostyl

    Сообщения: 5205 Репутация: N Группа: Джедаи

    Spritz 9 мая 2010 г. 6:29, спустя 21 минуту 33 секунды

    Абырвалг, что, всё можно сделать таким сложным что надо две транзакции в php скрипте? 4)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!