egeatech / app-updater
一个用于处理未在官方商店发布的移动应用自更新的包
Requires
- php: >=7.4
- ext-fileinfo: *
- ext-json: *
- bensampo/laravel-enum: ^v6.7.0
- illuminate/support: ~6|~7|~8|~9|~10
Requires (Dev)
- orchestra/testbench: ~5|~6|~7|~8
- phpunit/phpunit: ~9.0
README
一个处理未在官方商店发布的移动应用更新分发的包。
安装
此包支持Laravel 7和8。
通过Composer
$ composer require egeatech/app-updater
用法
路由注册
要使用此包,您只需注册其路由。例如,在您的应用RouteServiceProvider
中:只需将以下内容粘贴到boot()
方法中
EgeaTech\AppUpdater\Facades\AppUpdater::routes();
然后您就可以开始使用了。
可选地,您可以为每个路由定义自定义中间件或更改包定义的路由前缀:只需将一个定义您所需设置的EgeaTech\AppUpdater\Http\Routing\RoutingOptions
对象传递给routes()
函数。一个示例用法如下
EgeaTech\AppUpdater\Facades\AppUpdater::routes( new EgeaTech\AppUpdater\Http\Routing\RoutingOptions([ 'middleware' => ['api'], 'prefix' => 'api' ],[ 'client-credentials', 'throttle:60,1', 'my-custom-middleware-name', ]) );
配置发布
此包附带一个小的配置文件,用于配置一些小方面。要发布它,请运行
php artisan vendor:publish --tag app-updater.config
迁移发布
此包将在您的数据库中添加一个额外的表,用于保存所有可用的应用程序。通过运行以下操作来发布其迁移以开始使用
php artisan vendor:publish --tag app-updater.migrations
注意:已发布的文件可以修改,但请注意,更新结构将需要更新包定义的依赖注入(更多内容将在后面介绍)。
依赖注入
此包高度可配置,因为其大部分组件都通过Laravel DI机制连接到具体类来处理接口。为了覆盖包的组件(表单请求、JSON资源、Eloquent模型、服务类和存储库类),您必须创建一个新的ServiceProvider
类,将包的接口绑定到您自己的自定义类。在这个例子中,我们将重新分配Application
模型到另一个实体。
class DependencyInjectionHandler extends ServiceProvider { /** * Register services. * * @return void */ public function register() { app()->bind(ApplicationModelContract::class, MyCustomApplication::class); } }
在定义新的ServiceProvider
类后,不要忘记将其添加到您的config/app.php
文件中的providers
数组。
变更日志
请参阅变更日志,了解更多最近的变化信息。
贡献
请参阅contributing.md以获取详细信息。
安全性
如果您发现任何与安全相关的问题,请通过作者的电子邮件而不是使用问题跟踪器。
鸣谢
许可证
该软件根据MIT许可证授权。请参阅许可证文件以获取更多信息。