PHP-如何编写在其他项目中可用的用户类?

PHP-如何编写在其他项目中可用的用户类?,php,dry,Php,Dry,我正在用PHP开发电报机器人。在我的所有项目,我需要检查用户注册状态,如果没有注册,存储用户信息。对于每个项目,我都一次又一次地写下这个步骤 是否有任何方法可以编写一个在其他项目中可用(稍作改动)的用户类,并避免这种重复 这是我的密码 // File: index.php $user = User::isRegistered($this->telegram->UserID()); if ($user === false) { $this->user = User::r

我正在用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)中更改最少的情况下执行此操作。

创建一个类文件,并定义要在此类文件中重复使用的函数。
将此文件导入到要使用此函数的文件中,并使用此类文件的对象调用该函数

向我们显示您重复编写的内容?已更新,已添加示例代码。这是怎么回事<代码>用户表字段在每个项目中都是不同的,因此对于在其他项目中存储新用户,我应该更改user::register的所有字段。。bt请确保在您要使用该功能的任何地方导入文件,我正在寻找的方法不会编辑原始类。是否有任何方法可以编写一个不需要在新项目中编辑
register
方法的数据库字段的类?您可以根据需求向函数发送参数,并根据该函数中的需求检查条件。希望这能奏效