Skip to content

Commit 02a5c82

Browse files
committed
add translate README project information to Rus language
1 parent 51f429c commit 02a5c82

File tree

1 file changed

+340
-0
lines changed

1 file changed

+340
-0
lines changed

README.ru_RU.md

Lines changed: 340 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,340 @@
1+
[English](https://github.com/cs-eliseev/helpers-ip/blob/master/README.md) | Русский
2+
3+
IP CSE HELPERS
4+
=======
5+
6+
[![Travis (.org)](https://img.shields.io/travis/cs-eliseev/helpers-ip.svg?style=flat-square)](https://travis-ci.org/cs-eliseev/helpers-ip)
7+
[![Codecov](https://img.shields.io/codecov/c/github/cs-eliseev/helpers-ip.svg?style=flat-square)](https://codecov.io/gh/cs-eliseev/helpers-ip)
8+
[![Scrutinizer code quality](https://img.shields.io/scrutinizer/g/cs-eliseev/helpers-ip.svg?style=flat-square)](https://scrutinizer-ci.com/g/cs-eliseev/helpers-ip/?branch=master)
9+
10+
[![Packagist](https://img.shields.io/packagist/v/cse/helpers-ip.svg?style=flat-square)](https://packagist.org/packages/cse/helpers-ip)
11+
[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.1-8892BF.svg?style=flat-square)](https://packagist.org/packages/cse/helpers-ip)
12+
[![Packagist](https://img.shields.io/packagist/l/cse/helpers-ip.svg?style=flat-square)](https://github.com/cs-eliseev/helpers-ip/blob/master/LICENSE.md)
13+
[![GitHub repo size](https://img.shields.io/github/repo-size/cs-eliseev/helpers-ip.svg?style=flat-square)](https://github.com/cs-eliseev/helpers-ip/archive/master.zip)
14+
15+
Данная библиотек позволяет удобно работать с IP адресами (IPv4 и IPv6).
16+
17+
Репозиторий проекта: https://github.com/cs-eliseev/helpers-ip
18+
19+
**DEMO**
20+
```php
21+
$ip = IP::getRealIP();
22+
if (IP::isIP($ip)) {
23+
switch (true) {
24+
case IP::isIPv4($ip):
25+
break;
26+
case IP::isIPv6($ip):
27+
$ip = IP::removeSubnetMaskIPv6($ip);
28+
$ip = IP::getRangeIPv6($ip);
29+
$ip = IP::getFirstIPByVersion($ip);
30+
break;
31+
}
32+
$version = IP::getVersionIP($ip);
33+
}
34+
```
35+
36+
***
37+
38+
39+
## Описание проекта
40+
41+
CSE HELPERS - это набор из небольших библиотек с простыми функциями написанных на PHP специально для вас.
42+
43+
Несмотря на повсеместное использование PHP в качестве основного языка для WEB разработки, его зачастую недостаточно. IP CSE HELPERS, позволит вам довольно просто работать с IP адресами (IPv4 и IPv6).
44+
45+
CSE HELPERS создан для быстрой разработки веб-приложений.
46+
47+
**Список библиотек CSE Helpers:**
48+
* [Array CSE helpers](https://github.com/cs-eliseev/helpers-arrays)
49+
* [Cookie CSE helpers](https://github.com/cs-eliseev/helpers-cookie)
50+
* [Date CSE helpers](https://github.com/cs-eliseev/helpers-date)
51+
* [Email CSE helpers](https://github.com/cs-eliseev/helpers-email)
52+
* [IP CSE helpers](https://github.com/cs-eliseev/helpers-ip)
53+
* [Json CSE helpers](https://github.com/cs-eliseev/helpers-json)
54+
* [Math Converter CSE helpers](https://github.com/cs-eliseev/helpers-math-converter)
55+
* [Phone CSE helpers](https://github.com/cs-eliseev/helpers-phone)
56+
* [Request CSE helpers](https://github.com/cs-eliseev/helpers-request)
57+
* [Session CSE helpers](https://github.com/cs-eliseev/helpers-session)
58+
* [Word CSE helpers](https://github.com/cs-eliseev/helpers-word)
59+
60+
Ниже представлена информация об установке и перечне команд с примерами их использования.
61+
62+
63+
## Установка
64+
65+
Самая последняя версия проекта доступна [здесь](https://github.com/cs-eliseev/helpers-ip).
66+
67+
### Composer
68+
69+
Чтобы установить последнюю версию проекта, выполните следующую команду в терминале:
70+
```shell
71+
composer require cse/helpers-ip
72+
```
73+
74+
Или добавьте следующее содержимое в файл composer.json:
75+
```json
76+
{
77+
"require": {
78+
"cse/helpers-ip": "*"
79+
}
80+
}
81+
```
82+
83+
### Git
84+
85+
Добавить этот репозиторий локально можно следующим образом:
86+
```shell
87+
git clone https://github.com/cs-eliseev/helpers-ip.git
88+
```
89+
90+
### Скачать
91+
92+
[Скачать последнюю версию проекта можно здесь](https://github.com/cs-eliseev/helpers-ip/archive/master.zip).
93+
94+
## Использование
95+
96+
Данный класс использует статические методы, которые удобно использовать в любом проекте. Смотрите пример [examples-ip.php](https://github.com/cs-eliseev/helpers-ip/blob/master/examples/examples-ip.php).
97+
98+
99+
**Получить реальный IP адрес**
100+
101+
Пример:
102+
```php
103+
IP::getRealIP();
104+
// xxx.xxx.xxx.xxx
105+
```
106+
107+
**Удалить подмаску IPv6**
108+
109+
Пример:
110+
```php
111+
IP::removeSubnetMaskIPv6('2a0a:2b40::4:60/124');
112+
// 2a0a:2b40::4:60
113+
```
114+
115+
**Проверить что адрес IPv4**
116+
117+
Пример:
118+
```php
119+
IP::isIPv4('127.0.0.1');
120+
// true
121+
```
122+
123+
Проверить IPv6:
124+
```php
125+
IP::isIPv4('2a0a:2b40::4:60');
126+
// false
127+
```
128+
129+
Проверить нереальный IP адрес:
130+
```php
131+
IP::isIPv4('256.256.256');
132+
// false
133+
```
134+
135+
**Проверить что адрес IPv6**
136+
137+
Пример:
138+
```php
139+
IP::isIPv6('2a0a:2b40::4:60');
140+
// true
141+
```
142+
143+
Проверить нулевой адрес:
144+
```php
145+
IP::isIPv6('::');
146+
// true
147+
```
148+
149+
Проверить localhost IPv6:
150+
```php
151+
IP::isIPv6('::1');
152+
// true
153+
IP::isIPv6('0:0:0:0:0:0:0:1');
154+
// true
155+
```
156+
157+
Проверить IPv4:
158+
```php
159+
IP::isIPv6('127.0.0.1');
160+
// false
161+
```
162+
163+
Проверить нереальный IP адрес:
164+
```php
165+
IP::isIPv6(':');
166+
// false
167+
```
168+
169+
**Получить версию IP адреса**
170+
171+
Пример:
172+
```php
173+
IP::getVersionIP('::1');
174+
// 6
175+
```
176+
177+
Получить версию IPv4:
178+
```php
179+
IP::getVersionIP('127.0.0.1');
180+
// 4
181+
```
182+
183+
Получить версию IPv6:
184+
```php
185+
IP::getVersionIP('0:0:0:0:0:0:0:1');
186+
// 6
187+
```
188+
189+
Получить версию нереального IP адреса:
190+
```php
191+
IP::getVersionIP('256.256.256.256');
192+
// null
193+
```
194+
195+
**Проверка IP адреса**
196+
197+
Пример:
198+
```php
199+
IP::isIP('::1');
200+
// true
201+
```
202+
203+
Проверить IPv4:
204+
```php
205+
IP::isIP('127.0.0.1');
206+
// true
207+
```
208+
209+
Проверить IPv6:
210+
```php
211+
IP::isIP('0:0:0:0:0:0:0:1');
212+
// true
213+
```
214+
215+
Проверить нереальный IP адрес:
216+
```php
217+
IP::isIP('256.256.256.256');
218+
// false
219+
```
220+
221+
**Получить подсети для IPv6**
222+
223+
Пример:
224+
```php
225+
IP::getRangeIPv6('2a0a:2b40::4:60/124');
226+
// ['2a0a:2b40::4:60', '2a0a:2b40::4:6f']
227+
```
228+
229+
**Фильтрация IP адресов**
230+
231+
Пример:
232+
```php
233+
IP::filterIPs([
234+
'127.0.0.1',
235+
'2a0a:2b40::4:60',
236+
'255.255.255.255',
237+
'2a0a:2b40::4:6f',
238+
'256.256.256.256'
239+
]);
240+
// [4 => ['127.0.0.1', '255.255.255.255'], 6 => ['2a0a:2b40::4:60', '2a0a:2b40::4:6f']]
241+
```
242+
243+
Пример для пустых версий IP:
244+
```php
245+
IP::filterIPs([
246+
'127.0.0.1',
247+
'255.255.255.255',
248+
'256.256.256.256'
249+
]);
250+
// [4 => ['127.0.0.1', '255.255.255.255'], 6 => []]
251+
```
252+
253+
Фильтрация IPv4 адресов:
254+
```php
255+
IP::filterIPs([
256+
'127.0.0.1',
257+
'2a0a:2b40::4:60',
258+
'255.255.255.255',
259+
'2a0a:2b40::4:6f',
260+
'256.256.256.256'
261+
], 4);
262+
// ['127.0.0.1', '255.255.255.255']
263+
```
264+
265+
Фильтрация IPv6 адресов:
266+
```php
267+
IP::filterIPs([
268+
'127.0.0.1',
269+
'2a0a:2b40::4:60',
270+
'255.255.255.255',
271+
'2a0a:2b40::4:6f',
272+
'256.256.256.256'
273+
], 6);
274+
// ['2a0a:2b40::4:60', '2a0a:2b40::4:6f']
275+
```
276+
277+
**Получить первый IP адрес из списка по его версии**
278+
279+
Пример:
280+
```php
281+
IP::getFirstIPByVersion([
282+
'256.256.256.256',
283+
'127.0.0.1',
284+
'2a0a:2b40::4:60',
285+
'255.255.255.255',
286+
'2a0a:2b40::4:6f',
287+
'256.256.256.256'
288+
], 4);
289+
// '127.0.0.1'
290+
```
291+
292+
Пример получения первого IPv6 адреса:
293+
```php
294+
IP::getFirstIPByVersion([
295+
'256.256.256.256',
296+
'127.0.0.1',
297+
'2a0a:2b40::4:60',
298+
'255.255.255.255',
299+
'2a0a:2b40::4:6f'
300+
], 6);
301+
// '2a0a:2b40::4:60'
302+
```
303+
304+
305+
## Тестирование и покрытие кода
306+
307+
PHPUnit используется для модульного тестирования. Данные тесты гарантируют, что методы класса выполняют свою задачу.
308+
309+
Подробную документацию по PHPUnit можно найти по адресу: https://phpunit.de/documentation.html.
310+
311+
Чтобы запустить тесты выполните:
312+
```bash
313+
phpunit PATH/TO/PROJECT/tests/
314+
```
315+
316+
Чтобы сформировать отчет о покрытии тестами кода, необходимо выполнить следующую команду:
317+
```bash
318+
phpunit --coverage-html ./report PATH/TO/PROJECT/tests/
319+
```
320+
321+
Чтобы использовать настройки по умолчанию, достаточно выполнить:
322+
```bash
323+
phpunit --configuration PATH/TO/PROJECT/phpunit.xml
324+
```
325+
326+
327+
## Вклад в общее дело
328+
329+
Вы можите поддержать данный проект [здесь](https://www.paypal.me/cseliseev/10usd).
330+
Вы также можете помочь, внеся свой вклад в проект или сообщив об ошибках.
331+
Даже высказывать свои предложения по функциям - это здорово. Все, что поможет, высоко ценится.
332+
333+
334+
## Лицензия
335+
336+
IP CSE HELPERS это PHP-библиотека с открытым исходным кодом распространяемая по лицензии MIT. Для получения более подробной информации, пожалуйста, ознакомьтесь с [лицензионным файлом](https://github.com/cs-eliseev/helpers-ip/blob/master/LICENSE.md).
337+
338+
***
339+
340+
> GitHub [@cs-eliseev](https://github.com/cs-eliseev)

0 commit comments

Comments
 (0)