pi0nl / laravel-config-class-gate
允许通过配置文件在 Laravel 中加载类(或对象)
v0.1
2016-10-27 17:21 UTC
Requires
- php: >=5.4.0
- laravel/framework: ~5.1
This package is auto-updated.
Last update: 2024-09-21 20:33:25 UTC
README
您可以通过配置文件(由配置键定义的类列表,例如自定义 Eloquent 模型)来提供您自己的类覆盖。这样,您可以使用预期的模型,同时添加扩展基本类的可能性。
默认情况下,尝试从 classes.php
配置文件中加载类。
示例
示例配置(配置文件夹中的 classes.php
)
<?php return [ "user" => App\\Models\\User::class ];
调用类的静态方法
$userGate = ClassGate::gate("user"); $users = $userGate->all() // will call User::all()
或快捷方式
// will call User::all() $users = ClassGate::gate("user")->all();
创建实例
$userGate = ClassGate::gate("user"); $user = $userGate->newInstance();
或快捷方式
$user = ClassGate::instance("user"); $user = $userGate->theClass();
类字符串
$userGate = ClassGate::gate("user");
或快捷方式
$userClass = ClassGate::objectClass("user");
设置
自己的配置路径
您可以通过 ClassGate::setConfigPath("models.list")
提供自己的文件或 "array" 路径到配置,这将找到 models
文件和 list
数组条目中的类。
示例配置(配置文件夹中的 models.php
)
<?php return [ "othersKeys" : "...", "list" => [ "user" => App\\Models\\User::class ] ];
待办事项
- 带有默认配置文件的自己的提供者(可选)
- 将方法调用转换为配置键并将创建正确的
ClassGate
实例的网关 - 一个命令,该命令将创建支持模型的文档文件(将在 ClassGate 静态方法上支持类型提示)
ClassGate 建议
ClassGate::user()
将调用 ClassGate::gate("user")