сухой — Как написать пользовательский класс, который можно использовать в других проектах?

Я занимаюсь разработкой Telegram Bot на PHP. Во всех моих проектах мне нужно проверить статус регистрации пользователя и, если он не зарегистрирован, сохранить информацию о пользователе. для каждого проекта я писал этот шаг снова и снова.

Есть ли способы написать пользовательский класс, который можно использовать (с небольшими изменениями) в других проектах и ​​избежать этого повторения?

Это мой код

// File: index.php

$user = User::isRegistered($this->telegram->UserID());
if ($user === false) {
$this->user = User::register($this->telegram);
} else
$this->user = $user;

А это мой пользовательский класс

// File: User.php

class User
{
public static function isRegistered($telegram_id)
{
$user = SlmUsers::find()->where(['telegram_id' => $telegram_id])->one();
if ($user)
return $user;
return FALSE;
}

public static function register(\Telegram $telegram)
{
$nickname = $telegram->FirstName() . ' ' . $telegram->LastName();
$nickname = mb_substr($nickname,0,128);

$user = new SlmUsers();
$user->telegram_id = $telegram->UserID();
$user->nickname = $nickname;
$user->telegram_username = $telegram->Username();
$user->message_id = 0;
$user->updated_at = date('U');
$user->last_request  = 'new';
$user->save();

return $user;
}
}

но поля таблицы пользователей отличаются в каждом проекте, поэтому для сохранения нового пользователя в других проектах я должен изменить все поля User::register, как я могу избежать этого? Я хочу написать класс сделать это работает с минимальным изменением в классе происхождения (User.php).

-1

Решение

создайте один файл класса и определите функцию, которую вы собираетесь использовать в этом файле класса.
Импортируйте этот файл в файл, где вы хотите использовать эту функцию, и вызовите эту функцию, используя объект этого файла класса

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector