基于可持续网络设计 (SWD) 模型的 Laravel 计算二氧化碳排放的包

v1.0.2 2023-02-04 11:56 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

上传或下载的每一字节数据都会产生二氧化碳。通过计算这些排放量,开发者可以让自己和用户能够做出更高效、更低碳的决定。以下是一些示例:

  • 为您的网站创建碳预算
  • 当用户上传或下载高碳密集型文件时通知用户

该包使用 可持续网络设计 (SWD) 模型。年电网平均强度数据来自 Ember,以及来自 UNFCCC(联合国气候变化框架公约)的边际强度数据。

该包是为 Laravel 构建的,并基于 绿色网络基金会CO2.js 包中做出的出色工作。

安装

您可以通过 composer 安装此包

composer require ahoicloud/co2

可选

您可以使用以下命令发布配置文件:

php artisan vendor:publish --tag="co2-config"

这是发布配置文件的内容

return [

    'KWH_PER_GB' => 0.81,
    'END_USER_DEVICE_ENERGY' => 0.52,
    'NETWORK_ENERGY' => 0.14,
    'DATACENTER_ENERGY' => 0.15,
    'PRODUCTION_ENERGY' => 0.19,
    'GLOBAL_GRID_INTENSITY' => 442,
    'RENEWABLES_GRID_INTENSITY' => 50,
    'FIRST_TIME_VIEWING_PERCENTAGE' => 0.75,
    'RETURNING_VISITOR_PERCENTAGE' => 0.25,
    'PERCENTAGE_OF_DATA_LOADED_ON_SUBSEQUENT_LOAD' => 0.02,

];

使用方法

每个对应系统组件的总能耗,以千瓦时为单位

$co2 = new Ahoicloud\Co2();
echo $co2->energyPerByteByComponent($byte);

或作为外观

use Ahoicloud\Co2\Facades\Co2;
echo Co2::energyPerByteByComponent($byte);

每个组件的二氧化碳数据

$co2 = new Ahoicloud\Co2();
echo $co2->co2byComponent($byte);

或作为外观

use Ahoicloud\Co2\Facades\Co2;
echo Co2::co2byComponent($byte);

每个组件的二氧化碳数据

$co2 = new Ahoicloud\Co2();
echo $co2->perByte($byte);

或作为外观

use Ahoicloud\Co2\Facades\Co2;
echo Co2::perByte($byte);

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全漏洞

请参阅 我们的安全策略 了解如何报告安全漏洞。

鸣谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。

thegreenwebfoundation/co2.js 的代码采用 Apache 2.0 许可。(这是什么意思?)

Ember 的平均碳强度数据在创意共享署名相似许可 (CC BY-SA 4.0) 下发布。(这是什么意思?)

边际强度数据由绿色网络基金会发布,在创意共享署名相似许可 (CC BY-SA 4.0) 下发布。(这是什么意思?)

请参阅 LICENCE 了解更多信息。