composer安装下 spatie/macroable

composer require spatie/macroable

chatgpt给的示例

use think\Model;
use Spatie\Macroable\Macroable;

class User extends Model
{
//在user的模型里面使用Macroable
    use Macroable;
}

//在别处调用User模型的时候 静态调用macro方法 定义方法名和方法逻辑
// 添加一个宏 相当于在User模型文件里面新建了一个shout方法
User::macro('shout', function() {
    return strtoupper($this->name);
});

//使用示例
// 使用这个宏
$user = User::find(1);
//在这 模型->shout() 实际上就是在调用刚才定义的方法
echo $user->shout(); // 输出用户名称的大写形式
Last modification:July 18, 2024
反正也没人会打赏