Skip to content

Commit 473979b

Browse files
authored
Merge pull request #11 from sunrise-php/release/v2.0.0
v2.0.0
2 parents f86b7e3 + dd852dc commit 473979b

15 files changed

+306
-354
lines changed

.circleci/config.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# PHP CircleCI 2.0 configuration file
2+
#
3+
# Check https://circleci.com/docs/2.0/language-php/ for more details
4+
#
5+
version: 2
6+
jobs:
7+
php71:
8+
docker:
9+
- image: circleci/php:7.1-cli-node-browsers
10+
steps:
11+
- checkout
12+
- run: php -v
13+
- run: composer install --no-interaction --prefer-source --no-suggest
14+
- run: php vendor/bin/phpunit --colors=always
15+
php72:
16+
docker:
17+
- image: circleci/php:7.2-cli-node-browsers
18+
steps:
19+
- checkout
20+
- run: php -v
21+
- run: composer install --no-interaction --prefer-source --no-suggest
22+
- run: php vendor/bin/phpunit --colors=always
23+
php73:
24+
docker:
25+
- image: circleci/php:7.3-cli-node-browsers
26+
steps:
27+
- checkout
28+
- run: php -v
29+
- run: composer install --no-interaction --prefer-source --no-suggest
30+
- run: php vendor/bin/phpunit --colors=always
31+
php74:
32+
docker:
33+
- image: circleci/php:7.4-cli-node-browsers
34+
steps:
35+
- checkout
36+
- run: php -v
37+
- run: composer install --no-interaction --prefer-source --no-suggest
38+
- run: php vendor/bin/phpunit --colors=always
39+
php80:
40+
docker:
41+
- image: circleci/php:8.0-cli-node-browsers
42+
steps:
43+
- checkout
44+
- run: php -v
45+
- run: composer install --no-interaction --prefer-source --no-suggest
46+
- run: php vendor/bin/phpunit --colors=always
47+
workflows:
48+
version: 2
49+
build:
50+
jobs:
51+
- php71
52+
- php72
53+
- php73
54+
- php74
55+
- php80

.editorconfig

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,5 @@ insert_final_newline = true
1414
[*.md]
1515
trim_trailing_whitespace = false
1616

17-
[*.php]
18-
indent_style = tab
19-
2017
[*.yml]
2118
indent_size = 2

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
.php_cs.cache
2+
.phpunit.result.cache
13
composer.lock
24
coverage.xml
5+
phpcs.xml
6+
phpunit.xml
37
vendor/

.travis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ matrix:
55
- php: 7.1
66
- php: 7.2
77
- php: 7.3
8+
- php: 7.4
9+
- php: nightly
810
fast_finish: true
911

1012
before_install:
@@ -13,4 +15,4 @@ before_install:
1315
install:
1416
- travis_retry composer install --no-interaction --prefer-source --no-suggest
1517

16-
script: vendor/bin/phpunit --colors=always --coverage-text
18+
script: php vendor/bin/phpunit --colors=always --coverage-text

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2018 Anatoly Fenric
3+
Copyright (c) 2018 Sunrise // PHP
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 13 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
# Simple slugger for PHP 7.1+ based on ICU
1+
# Simple slugger for PHP 7.1+ (incl. PHP8) based on ICU
22

33
[![Gitter](https://badges.gitter.im/sunrise-php/support.png)](https://gitter.im/sunrise-php/support)
4-
[![Build Status](https://api.travis-ci.com/sunrise-php/slugger.svg?branch=master)](https://travis-ci.com/sunrise-php/slugger)
5-
[![CodeFactor](https://www.codefactor.io/repository/github/sunrise-php/slugger/badge)](https://www.codefactor.io/repository/github/sunrise-php/slugger)
6-
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/sunrise-php/slugger/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/sunrise-php/slugger/?branch=master)
4+
[![Build Status](https://circleci.com/gh/sunrise-php/slugger.svg?style=shield)](https://circleci.com/gh/sunrise-php/slugger)
75
[![Code Coverage](https://scrutinizer-ci.com/g/sunrise-php/slugger/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/sunrise-php/slugger/?branch=master)
8-
[![Latest Stable Version](https://poser.pugx.org/sunrise/slugger/v/stable?format=flat)](https://packagist.org/packages/sunrise/slugger)
6+
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/sunrise-php/slugger/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/sunrise-php/slugger/?branch=master)
97
[![Total Downloads](https://poser.pugx.org/sunrise/slugger/downloads?format=flat)](https://packagist.org/packages/sunrise/slugger)
8+
[![Latest Stable Version](https://poser.pugx.org/sunrise/slugger/v/stable?format=flat)](https://packagist.org/packages/sunrise/slugger)
109
[![License](https://poser.pugx.org/sunrise/slugger/license?format=flat)](https://packagist.org/packages/sunrise/slugger)
1110

1211
## Awards
@@ -15,7 +14,7 @@
1514

1615
## Installation
1716

18-
```
17+
```bash
1918
composer require sunrise/slugger
2019
```
2120

@@ -24,59 +23,25 @@ composer require sunrise/slugger
2423
#### Russian to Latin (default)
2524

2625
```php
27-
$slugger = new \Sunrise\Slugger\Slugger();
26+
use Sunrise\Slugger\Slugger;
27+
28+
$slugger = new Slugger();
2829

29-
// "syesh-yeshche-etikh-myagkikh-frantsuzskikh-bulok-da-vypey-chayu"
30+
// syesh-yeshche-etikh-myagkikh-frantsuzskikh-bulok-da-vypey-chayu
3031
$slugger->slugify('Съешь ещё этих мягких французских булок, да выпей чаю');
3132
```
3233

3334
#### Deutsch to Latin
3435

3536
```php
36-
$slugger = new \Sunrise\Slugger\Slugger();
37-
$slugger->setTransliteratorId('de-ASCII');
37+
use Sunrise\Slugger\Slugger;
3838

39-
// "falsches-ueben-von-xylophonmusik-quaelt-jeden-groesseren-zwerg"
40-
$slugger->slugify('Falsches Üben von Xylophonmusik quält jeden größeren Zwerg');
41-
```
42-
43-
#### Only transliteration
44-
45-
```php
46-
$slugger = new \Sunrise\Slugger\Slugger();
47-
$slugger->setTransliteratorId('Hiragana-Latin');
48-
49-
// "irohanihoheto chirinuruwo wakayotareso tsunenaramu uwinookuyama kefukoete asakiyumemishi wehimosesu"
50-
$slugger->transliterate('いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせす', '');
51-
```
39+
$slugger = new Slugger('de-ASCII');
5240

53-
#### Customization
54-
55-
```php
56-
$slugger = new \Sunrise\Slugger\Slugger();
57-
$slugger->setTransliteratorId('Greek-Latin/BGN');
58-
59-
// "takhisti alopix vafis psimeni yi dhraskelizi iper nothrou kinos"
60-
$slugger->transliterate('Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός', 'Any-Latin; Latin-ASCII; Lower(); [^\x20\x30-\x39\x41-\x5A\x61-\x7A] Remove');
61-
```
62-
63-
#### Using DI Container
64-
65-
```php
66-
$di['slugger'] = function() : \Sunrise\Slugger\SluggerInterface {
67-
$slugger = new \Sunrise\Slugger\Slugger();
68-
$slugger->setTransliteratorId('de-ASCII');
69-
70-
return $slugger;
71-
};
72-
73-
$di['slugger']->slugify('Zwölf große Boxkämpfer jagen Viktor quer über den Sylter Deich.');
41+
// falsches-ueben-von-xylophonmusik-quaelt-jeden-groesseren-zwerg
42+
$slugger->slugify('Falsches Üben von Xylophonmusik quält jeden größeren Zwerg');
7443
```
7544

76-
## Api documentation
77-
78-
https://phpdoc.fenric.ru/
79-
8045
## Useful links
8146

8247
* http://site.icu-project.org/

composer.json

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,31 @@
11
{
22
"name": "sunrise/slugger",
3-
"description": "Simple slugger for PHP 7.1+ based on ICU",
4-
"keywords": ["fenric", "sunrise", "slugger", "translit", "icu"],
53
"homepage": "https://github.com/sunrise-php/slugger",
4+
"description": "Simple slugger for PHP 7.1+ based on ICU",
65
"license": "MIT",
7-
"authors": [{
8-
"name": "Anatoly Fenric",
9-
"email": "anatoly@fenric.ru",
10-
"homepage": "https://anatoly.fenric.ru/"
11-
}],
6+
"keywords": [
7+
"fenric",
8+
"sunrise",
9+
"slugger",
10+
"translit",
11+
"icu",
12+
"php7",
13+
"php8"
14+
],
15+
"authors": [
16+
{
17+
"name": "Anatoly Fenric",
18+
"email": "anatoly@fenric.ru",
19+
"homepage": "https://anatoly.fenric.ru/"
20+
}
21+
],
1222
"require": {
13-
"php": "^7.1",
23+
"php": "^7.1|^8.0",
1424
"ext-intl": "*"
1525
},
1626
"require-dev": {
17-
"phpunit/phpunit": "7.5.6"
27+
"phpunit/phpunit": "7.5.20|9.5.0",
28+
"sunrise/coding-standard": "1.0.0"
1829
},
1930
"autoload": {
2031
"psr-4": {
@@ -23,7 +34,8 @@
2334
},
2435
"scripts": {
2536
"test": [
26-
"phpunit --colors=always --coverage-text"
37+
"phpunit --colors=always --coverage-text",
38+
"phpcs"
2739
]
2840
}
2941
}

phpcs.xml.dist

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0"?>
2+
<ruleset name="Sunrise Coding Standard">
3+
<rule ref="./vendor/sunrise/coding-standard/ruleset.xml"/>
4+
5+
<file>src</file>
6+
<file>tests</file>
7+
</ruleset>

phpunit.xml.dist

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<?xml version="1.0"?>
2-
<phpunit colors="true">
2+
<phpunit colors="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
3+
<coverage>
4+
<include>
5+
<directory>./src</directory>
6+
</include>
7+
</coverage>
38
<testsuites>
49
<testsuite name="Sunrise Slugger Test Suite">
510
<directory>./tests/</directory>
611
</testsuite>
712
</testsuites>
8-
<filter>
9-
<whitelist>
10-
<directory>./src</directory>
11-
</whitelist>
12-
</filter>
1313
</phpunit>

src/Exception/UnsupportedTransliteratorIdentifierException.php renamed to src/Exception/Exception.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
use RuntimeException;
1818

1919
/**
20-
* UnsupportedTransliteratorIdentifierException
20+
* Exception
2121
*/
22-
class UnsupportedTransliteratorIdentifierException extends RuntimeException
23-
{}
22+
class Exception extends RuntimeException
23+
{
24+
}

0 commit comments

Comments
 (0)