oliver-noth / arabic-roman-number-converter

接受阿拉伯或罗马数字,并返回相应的转换。

v1.0.2 2021-11-01 17:15 UTC

This package is auto-updated.

Last update: 2024-09-29 06:25:48 UTC


README

ArabicRomanNumberConverter 是一个 composer 包,可以将阿拉伯或罗马数字转换为相反的数字。

Latest Stable Version Minimum PHP Version Type Coverage Semantic Versioning MIT license

目录

  1. 入门
    1. 要求
    2. 安装
  2. 用法
    1. 基本
    2. 进一步
  3. Docker
    1. 先决条件
    2. 设置
    3. 创建并运行 Docker 容器
    4. 单元测试
    5. 深入研究
  4. 作者

入门指南

要求

  • 您的本地机器必须运行至少 PHP 8.0
  • 请确保已安装 composer

安装

使用 composer 下载并安装 ArabicRomanNumberConverter。

您可以将 ArabicRomanNumberConverter 添加为本地项目依赖项

$ composer require oliver-noth/arabic-roman-number-converter

如果您仅在开发期间需要 ArabicRomanNumberConverter,则应将其添加为开发时间依赖项

$ composer require --dev oliver-noth/arabic-roman-number-converter

用法

基本

首先实例化一个新的数字转换器

$factory = new \OliverNoth\ArabicRomanNumberConverter\Main\Factory();

/**
 * Numeral can be passed in different ways:
 */

// 1.) Pass it to the constructor
$numberConverter = $factory->createNumberConverter('MCMLXVIII');

// 2.) Pass it to the setter method
$numberConverter = $factory->createNumberConverter()->setCandidate('MCMLXVIII');

然后获取转换后的数字

$converted = $numberConverter->convert(); // $converted will be (int) 1968

或者通过传递另一个数字来获取另一个转换,而不需要创建新的数字转换器

$converted = $numberConverter->convert(1968); // $converted will be (string) 'MCMLXVIII'

您可以获取转换注释(特别是失败验证的注释)

$notes = $numberConverter->getConversionNotes();

进一步

请参阅 example/basic-usage.php 了解如何在项目中使用 ArabicRomanNumberConverter。

Docker

在您的本地机器上使用 ddev 设置 Docker 容器。

先决条件

  • 请确保已安装并运行 Docker。如果没有,请按照 这些说明 进行操作。

设置

建议使用 Homebrew/Linuxbrew 安装 ddev

$ brew tap drud/ddev && brew install ddev

创建并进入您的项目目录(根据您的需要替换文件夹名称 `<PATH-TO-YOUR-PROJECT-DIRECTORY>/my-project`)

$ mkdir -p <PATH-TO-YOUR-PROJECT-DIRECTORY>/my-project
$ cd <PATH-TO-YOUR-PROJECT-DIRECTORY>/my-project

创建一个新的 Docker 容器

配置 ddev Docker 容器(根据您的需要替换项目名称 my-project

$ ddev config --project-name=my-project --project-type=php --php-version=8.0 --docroot="" --create-docroot --disable-settings-management --http-port=8088 --https-port=44388

创建配置容器并将 composer 包克隆到其中
重要:最终出现的提示 `Warning: ALL EXISTING CONTENT of the project root (~/my-project) will be deleted` 必须回答 'yes'

$ ddev composer create oliver-noth/arabic-roman-number-converter

在创建的容器的文档根目录中创建 index.php

$ ddev exec chmod 755 example/write-index.sh && ddev exec ./example/write-index.sh

最后启动创建的容器

$ ddev start

一旦启动了容器,您的项目可以通过 `http://my-project.ddev.site:8088` 访问。注意:子域名 `my-project` 应该替换为您之前选择的项目名称。

单元测试

此包完全经过单元测试。您可以在创建的容器中运行它们

$ ddev exec vendor/bin/phpunit

显示代码覆盖率摘要需要启用代码覆盖率驱动程序。使用 xdebug,检查它并获取摘要

$ ddev xdebug
$ ddev xdebug status
$ ddev exec vendor/bin/phpunit --coverage-text

注意:尽管代码覆盖率达到了 100%,但是容器可能显示更小的覆盖率。
在本地机器上运行它(假设已在项目目录中安装了代码覆盖率驱动程序,例如 xdebug),应显示 100%。正在修复中...

$ vendor/bin/phpunit --coverage-text

深入研究

例如,可以通过进入容器来管理充当 web 服务器行为的容器的行为。

$ ddev ssh

更多信息:完整文档可在以下链接找到 ddev.readthedocs.io

作者