定制 gianfriaur/package-loader 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gianfriaur/package-loader

最新稳定版本:v1.1.2

Composer 安装命令:

composer require gianfriaur/package-loader

包简介

Laravel Package management

README 文档

README

just another package manager for laravel nothing more and nothing less

but if you want to use it you are welcome

Goal

In an ideal world we will all be the standard,

But it's also true that if there were a standard, our project wouldn't be the only one, wouldn't it?

Starting from this we can say that it is not always possible to make things according to the existing standard, or simply for the 'company' logic this is not possible

The purpose of this library is to provide a tool without forcing you to necessarily follow the rules decided at the start, if you want you can write your own logic if necessary and expect that nothing will 'break'

Also, because you can't think about what you need before you need it 😉

Install

Require package

composer require gianfriaur/package-loader

Publish configuration file

php artisan vendor:publish --provider="Gianfriaur\PackageLoader\PackageLoaderServiceProvider"

First setup

Tips

Documentation

You can find the full documentation at this location

Stress Tests 😍

I have tried to reduce loading times to reasonably low times

obtaining good results

  • Load 10 packages : ~2 milliseconds
  • Load 100 packages : ~10 milliseconds
  • Load 1000 packages : ~400 milliseconds

you can find the stress test in this test: tests/Stress/StressTest.php

Why use LocalizationStrategy

Since PackageProvider extends ServiceProvider we can wonder why it has been given the possibility to use a strategy specifically to load translations instead of using directly $this->loadTranslationsFrom($path,$namespace);

There is a very simple answer to this legitimate question, if for each PackageProvider it is necessary to individually register a callback to the afterResolving and check if the 'translator' service has been resolved and then load the translations, this as the packages increase can cause a drop in performance.

Yes it is true of just ~50 milliseconds for 100 packets

With the DefaultLocalizationStrategy Service this is done only once leaving only the time to read the files

But hey, there is, using it costs you nothing, but you save some time in requests

In the future there will be a command that will be loaded by the strategy that will allow you in production to collapse all the translation files of all the packages into a single one so that I could further reduce the times for loading all the translation files

Next releases

  • 1.1.x

    • Configuration
      • New strategy JsonConfigurationStrategyService
      • New strategy JollyConfigurationStrategyService
    • New Features
      • New kind of strategy ViewStrategyService
  • 1.2.x

    • Localization
      • Production Compress Localization Command
    • Configuration
      • New strategy DatabaseConfigurationStrategyService
  • 1.3.x

    • Configuration
      • Production Compress Configuration Command

统计信息

  • 总下载量: 27
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-03-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固