Как добавить нового члена с модулем ExpressionEngine? - PullRequest
2 голосов
/ 17 июня 2011

Я строю модуль ExpressionEngine, который будет нуждаться в возможности добавлять новых членов в систему. Кажется, что основные модули не предназначены для использования сторонними модулями, что оставляет мне два слегка хакерских подхода.

Первый - использовать подход, который использует метод register_member модуля-члена:

function register_member()
{
    if ( ! class_exists('Member_register'))
    {
        require PATH_MOD.'member/mod.member_register.php';
    }

    $MR = new Member_register();

    foreach(get_object_vars($this) as $key => $value)
    {
        $MR->{$key} = $value;
    }

    $MR->register_member();
}

Кажется, это немного грязно, так как мне нужно было бы найти правильный путь к файлу mod.member_register.php из моего пользовательского модуля.

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

1 Ответ

1 голос
/ 21 июня 2011

Первый подход заключается в использовании метода register_member Член Модуль использует [...]

Я бы опасался повторного использования или включения собственной функциональности модуля участника ExpressionEngine, поскольку Лицензия фрилансера не включает в себя никаких возможностей управления членством ... поэтому требуется файл, который может не существовать не очень хорошая идея.

Кроме того, EllisLab заявил в объявлении EE 2.2 Developer Preview , что в будущем они будут более строгими в применении принудительных переменных / методов класса public / private / protected.

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

Я не мог согласиться больше & mdash; не говоря уже об этом, может обойти многие встроенные условные проверки и проверки безопасности, которые происходят при регистрации новых пользователей.

С другой стороны, пользовательский модуль Solspace предлагает возможность регистрировать новых участников из-за пределов панели управления, поэтому функциональность была реализована модулем ранее.

Ни один из этих подходов, кажется, не что чисто, может кто-нибудь подсказать лучший подход?

Это отличный вопрос, и на него можно лучше ответить, разместив его там, где его смогут увидеть другие разработчики ExpressionEngine & mdash; например, на форуме ExpressionEngine Pro Network или на форуме Development and Programming .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...