ФорумПрограммированиеPHP для идиотов → накидайте интерфейс для Auth и UserManager'а

накидайте интерфейс для Auth и UserManager'а

  • Абырвалг

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

    Spritz 21 апреля 2010 г. 17:57

    Что-то я не могу придумать как предоставить удобный доступ к созданию/редактированию/удалению пользователей.
    Пока есть такое http://pyha.ru/forum/topic/3766.msg92264#msg92264

    $um->assign(/* массив с данными */);
    $um->validate(); // проверит данные
    $um->create(); // проверит данные и создаст юзера если все ок. Вернет id и пароль.

    $um->assign(/* массив с данными */);
    $um->update(3);
    // или
    $um->update('username');
    // или же
    $um->update('[email protected]');


    в ссылке, которая выше я привел пример дополнительных валидаторов для полей. Пока вроде бы удобно, да?

    Идем дальше. Мне нужно в случае если user.is_active=0 генерировать user_action. Последнее - это такая строка (user_id, type, data, date # дата, когда эта строка была добавлена).
    На основе этой строки я буду восстанавливать пароли, делать активацию. Как короче это сделать на уровне интерфейсов?
  • Абырвалг

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

    Spritz 21 апреля 2010 г. 18:12, спустя 14 минут 29 секунд

    если кому-то не нравится фраза "на уровне интерфейсов" перефразирую: мне нужны Class Skeletons и Use Cases
  • md5

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

    Spritz 21 апреля 2010 г. 18:22, спустя 9 минут 57 секунд

    фак ю спилберг
    2 часа ночи, какая библиотека?
    все умрут, а я изумруд
  • Абырвалг

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

    Spritz 22 апреля 2010 г. 7:24, спустя 13 часов 2 минуты 42 секунды

    ща я оправдаюсь

    1) у нас на один час меньше, так что не 2 часа ночи а 1
    2) я написал сообщение и пошел спать, в надежде, что вы мне за это время накидаете конструктива. (я как бы знал, что раньше 2-х дня до компа не доберусь на следующий день
    3) ты же читал мою тему "зарплату не платят"? во-во, я ща по уши в долгах, приходится ебашить немножко сверхурочно.

    зы:
    Сегодня в 12:57:51 am

    должно быть
    Сегодня в 00:57:51 am

    Эдво дал мне доступ в SVN'ку да все нет времени заняться(((
  • Ewg777

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

    Spritz 22 апреля 2010 г. 7:58, спустя 33 минуты 15 секунд

    Эдво дал мне доступ в SVN'ку да все нет времени заняться(((
    Оно связано?
    Абырвалг, смотрел готовые решения (в виде фреймворков)? В них можно взять САБЖ.
  • Абырвалг

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

    Spritz 22 апреля 2010 г. 8:03, спустя 5 минут 26 секунд

    о, да, я совсем забыл про настройки формата даты.

    сабж из fw еще не смотрел, сегодня буду.
  • Абырвалг

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

    Spritz 22 апреля 2010 г. 9:36, спустя 1 час 33 минуты 10 секунд

    тут в доме флудера проскакивала фраза "если б Кохана".
    http://docs.kohanaphp.com/addons/auth - ну ничего особо интересного. Такого понятия как is_active вообще нету

    да, я сам знаю, что Кохана не показатель. Домой приеду - посмотрю в zf, sf, yii. Хотя последний меня дико бесит и злит
  • kostyl

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

    Spritz 22 апреля 2010 г. 14:38, спустя 5 часов 1 минуту 31 секунду

    я вообще стараюсь не особо вглядываться в фреймворки - это тормозит фантазию…
  • krasun

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

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

    kostyl, хм, странно у меня наоборот пробуждает
  • Абырвалг

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

    Spritz 22 апреля 2010 г. 15:30, спустя 9 минут 37 секунд

    а я иногда смотрю и думаю про себя: все правильно сделал

    krasun, kostyl, ну накидайте Class Skeletons и Use Cases, а?
  • kostyl

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

    Spritz 22 апреля 2010 г. 15:34, спустя 4 минуты 55 секунд

    наверно я мало фреймворков смотрел )) и не очень пойму что есть Class Skeletons и Use Cases. А управление пользователями это смотря на сколько тебе надо астрагироваться, я чаще всего дохожу до актив рекорд с юзер маппером и на этом всё заканчивается…
  • Абырвалг

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

    Spritz 22 апреля 2010 г. 15:38, спустя 3 минуты 29 секунд

    http://framework.zend.com/wiki/display/ZFPROP/Zend_Di+-+Federico+Cargnelutti

    тут есть примеры скелетонов и uс
    Спустя 29 сек.
    набросок класса, короче. Без реализации. И несколько примеров его использования
  • kostyl

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

    Spritz 22 апреля 2010 г. 16:36, спустя 57 минут 44 секунды

    да, наверно я еще не дорос до такого кода…
    Могу предложить такую гавняшку (абстрактный пример):
    class User {

    public static function Create($Data)

    public static function FindOne($Criteria)

    public static function FindAll($Criteria)

    public static function LogIn($Data)

    public static function LogOut($Data)

    public static function IsLoggedIn()

    public static function Valid($Data)

    public static function Update($Data)

    public static function Delete($Criteria)
    }



    if (User::Valid(Request::Post())) {
    $ViewHelloNewUser->Assign(User::Create(Request::Post()));
    }
    ////////////////////////
    if (User::IsLoggedIn() && User::Valid(Request::Post())) {
    if ($User = User::FindOne(Reuqest::Post()) {
    User::Update(Request::Post());
    $ViewUserChangeHisData->Assign($User);
    }
    }
    /////
    $Users = User::FindAll(NULL);
    User::LogOut($Users);
    User::Delete($Users);


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