За последние 24 часа нас посетили 22395 программистов и 1153 робота. Сейчас ищут 657 программистов ...

Cascade

Тема в разделе "Решения, алгоритмы", создана пользователем Mr.M.I.T., 27 фев 2011.

  1. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    че-то автор-то молчит =\
    https://github.com/gorbunov/cascade

    Мне понравилось, наверное потому что сам стараюсь держаться simplistic OOP
    надо будет тоже переписать свою кривую кроссобертку субд на pdo...
     
  2. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    тоже вчера рассматривал, аккуратно сделано, афтор жжет )
    жаль только нет комментов для апи доки и сайта с туториалом
    +1 к пдо, тоже буду переписывать
     
  3. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    API будет, туториалы тоже :)
    Более-менее рабочая версия вышла только вчера.
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Нафига? Мы ещё будем переписывать драйвер на mysqli. Просто сейчас Олег взял для быстроты PDO, т.к там есть именнованные плейсхолдероы, а в mysqli нет.
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    У меня сделано по типу DBSimple щас, думал через PDO реализовать кроссубд. мне тупо лень драйверы клепать =)

    мне вообще вот этот момент не оч понравился =)
     
  6. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Mr.M.I.T.
    Драйвер переписывался за 1 день %) Это ещё всё будет доделываться.
     
  7. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Если ты уточнишь, чем тебе не понравился этот момент, я попробую объяснить, почему это именно так.
     
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    и так понятно почему так, мне просто не нра. чисто идеологически. не минималистично чтоли, а ещё константы =)
    на самом деле, нахожу много сходств в подходе и в реализации со своим говнокодом...
     
  9. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    чего с формами будешь делать?
     
  10. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    «Чисто идеологически» ты видишь какие-то альтернативные варианты решения?
    На самом деле, там ничего передавать вообще не надо, потому что этот метод ты вызывать напрямую не будешь никогда, его вызывают другие методы.

    А что с формами надо делать?
     
  11. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Вот тут ближайшие планы на развитие. Если у вас есть что добавить в этот список — с интересом рассмотрю ваше предложение.
     
  12. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Скрин сообщения об ошибке. Ловит даже фатальные ошибки.

    [​IMG]
     
  13. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    конечно я вижу, это же твоя разработка - твоя реализация. я и не говорю что чего-то надо переделывать, делай как считаешь нужным. Я просто сказал что мне не оч. нравится этот кусок, есть и другие, которые не нравятся; это как бы оценочное мнение, типа вкусно или нет.
    а формы это, ну пишут обычно всякие там генераторы, автовалидаторы и тп;
     
  14. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Если ты знаешь, чем тебе не нравится этот кусок — объясни чем?
     
  15. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Насчет форм правильная мысль, это то, что напрягает больше всего.
    Хочу у себя сделать нормальный генератор моделей и маппера по таблице/нескольким таблицам и какой то общий интерфейс для кеша, что бы можно было указывать галочками что может оттуда тянуться.
    Потом генератор формы и валидатора по мапперу. На java с gui буду писать наверное. Еше не плохо бы грабить корованы :)
    Ну это пока все мечты.
    по делу у меня так, ну или примерно так
    PHP:
    1. <?php
    2.   if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest'){
    3.     header("HTTP/1.0 404 Not Found");
    4.     exit;
    5.  }
    не красиво, не нравится - ajax action надо.
     
  16. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Валидация данных (не обязательно форм, валидировать можно что угодно) уже есть и работает.
    Кодогенерации форм не будет — это фреймворк, а не CMS.
    В принципе, не будет вообще никакой кодогенерации, разве что кроме какого-нибудь кеширования. Кодогенерация плохо влияет на понимание происходящего, создавая много неочевидности в коде. Основная цель фреймворка — быть максимально предсказуемым, максимально очевидным, и всегда предлагать полноценный автокомплит.
    Кодогенерация форм вдвойне бесполезна, поскольку подходит либо к совсем простым формам, либо обрастает огромным сложным синтаксисом, значительно сложнее HTML как такового.
    Моя цель - получать результат наиболее простым и быстрым способом, а не наиболее универсальным.
    Именно поэтому во фреймворке нет «идеологически верного» ООП.
     
  17. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Кстати говоря, с учетом существующего валидатора валидация формы еще и аяксом сводится к 3 дополнительным строчкам, если вы все об этом говорили:
    PHP:
    1.  
    2. <?php
    3. $data = Validation::factory($_POST); // неважно, откуда пришел POST, из аякса или отсылкой формы
    4. $data->filter('name', 'trim')->rule('name', 'min_length', 3);
    5. if (!$data->is_valid())
    6. {
    7.     $errors = $data->errors();
    8.     $template = 'form/template'; // шаблон с формой
    9.     if ($this->request->is_ajax) // запрос пришел аяксом
    10.     {
    11.         // выбираем шаблон для аякса. На самом деле, это можно сделать прямо в шаблоне, не делая этого в коде, или оправить просто данные в json обратно
    12.         $template = 'form/ajaxtemplate';
    13.     }
    14.     View::factory($template)->set('errors', $errors)->display();
    15. }
    16.  
    Да и это вообще можно решить в шаблоне, если надо.
     
  18. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Cascade
    я бы еше капчу добавил в валидатор и валидатор файлов + класс аплоада
     
  19. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Класс аплоада будет, как и класс капчи. В валидатор уже можно добавить любой код, на самом деле - правила и фильтры умеют принимать калбеки для выполнения, есть еще ->callback() для обработки всех данных сразу.
     
  20. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Cascade
    еше не плохо бы не упустить такой момент
    т.е. после вызова хранимой процедуры возвращается 2 результата, надо бы возвращать только первый или сделать отдельный метод, запарился у себя с этим
     
  21. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Padaboo я не очень понимаю, о чем ты.
     
  22. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  23. Cascade

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

    С нами с:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    И?
    Да, вызов пользовательских функций возвращающих кроме результата еще и выборку данных всегда приводят к получению двух результсетов. Это нормальное, документированное поведение, которое происходит не только в Мускуле, но и в других базах данных. Поэтому если ты не озаботился прочитать мануал перед использованием какого либо функционала — драйвер не решит эту проблему.
     
  24. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Да это я тот бездарь который не читает документацию. Но речь об удобстве использования и очистке рекордсета. Или может я что то не то делаю...
     
  25. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Padaboo
    Ну, покажи что ты делаешь, и чего ты хочешь добиться :)
    А я пока потихоньку мануалы начну писать