annotate vendor/egulias/email-validator/README.md @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@18 1 # EmailValidator
Chris@0 2 [![Build Status](https://travis-ci.org/egulias/EmailValidator.png?branch=master)](https://travis-ci.org/egulias/EmailValidator) [![Coverage Status](https://coveralls.io/repos/egulias/EmailValidator/badge.png?branch=master)](https://coveralls.io/r/egulias/EmailValidator?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/egulias/EmailValidator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/egulias/EmailValidator/?branch=master) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6/small.png)](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6)
Chris@0 3 =============================
Chris@18 4 ## Suported RFCs ##
Chris@18 5 This library aims to support:
Chris@0 6
Chris@18 7 RFC 5321, 5322, 6530, 6531, 6532.
Chris@18 8
Chris@18 9 ## Requirements ##
Chris@18 10
Chris@18 11 * [Composer](https://getcomposer.org) is required for installation
Chris@18 12 * [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system has the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl)
Chris@18 13
Chris@18 14 ## Installation ##
Chris@0 15
Chris@0 16 Run the command below to install via Composer
Chris@0 17
Chris@0 18 ```shell
Chris@18 19 composer require egulias/email-validator "~2.1"
Chris@0 20 ```
Chris@0 21
Chris@18 22 ## Getting Started ##
Chris@18 23 `EmailValidator`requires you to decide which (or combination of them) validation/s strategy/ies you'd like to follow for each [validation](#available-validations).
Chris@0 24
Chris@18 25 A basic example with the RFC validation
Chris@18 26 ```php
Chris@18 27 <?php
Chris@18 28
Chris@18 29 use Egulias\EmailValidator\EmailValidator;
Chris@18 30 use Egulias\EmailValidator\Validation\RFCValidation;
Chris@18 31
Chris@18 32 $validator = new EmailValidator();
Chris@18 33 $validator->isValid("example@example.com", new RFCValidation()); //true
Chris@18 34 ```
Chris@18 35
Chris@18 36
Chris@18 37 ### Available validations ###
Chris@18 38
Chris@18 39 1. [RFCValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/RFCValidation.php)
Chris@18 40 2. [NoRFCWarningsValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/NoRFCWarningsValidation.php)
Chris@18 41 3. [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php)
Chris@18 42 4. [SpoofCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php)
Chris@18 43 5. [MultipleValidationWithAnd](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/MultipleValidationWithAnd.php)
Chris@18 44 6. [Your own validation](#how-to-extend)
Chris@18 45
Chris@18 46 `MultipleValidationWithAnd`
Chris@18 47
Chris@18 48 It is a validation that operates over other validations performing a logical and (&&) over the result of each validation.
Chris@0 49
Chris@0 50 ```php
Chris@0 51 <?php
Chris@0 52
Chris@0 53 use Egulias\EmailValidator\EmailValidator;
Chris@18 54 use Egulias\EmailValidator\Validation\DNSCheckValidation;
Chris@18 55 use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
Chris@18 56 use Egulias\EmailValidator\Validation\RFCValidation;
Chris@0 57
Chris@18 58 $validator = new EmailValidator();
Chris@18 59 $multipleValidations = new MultipleValidationWithAnd([
Chris@18 60 new RFCValidation(),
Chris@18 61 new DNSCheckValidation()
Chris@18 62 ]);
Chris@18 63 $validator->isValid("example@example.com", $multipleValidations); //true
Chris@0 64 ```
Chris@0 65
Chris@18 66 ### How to extend ###
Chris@0 67
Chris@18 68 It's easy! You just need to implement [EmailValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/EmailValidation.php) and you can use your own validation.
Chris@0 69
Chris@0 70
Chris@18 71 ## Other Contributors ##
Chris@18 72 (You can find current contributors [here](https://github.com/egulias/EmailValidator/graphs/contributors))
Chris@0 73
Chris@18 74 As this is a port from another library and work, here are other people related to the previous one:
Chris@0 75
Chris@18 76 * Ricard Clau [@ricardclau](https://github.com/ricardclau): Performance against PHP built-in filter_var
Chris@18 77 * Josepf Bielawski [@stloyd](https://github.com/stloyd): For its first re-work of Dominic's lib
Chris@18 78 * Dominic Sayers [@dominicsayers](https://github.com/dominicsayers): The original isemail function
Chris@0 79
Chris@18 80 ## License ##
Chris@0 81 Released under the MIT License attached with this code.
Chris@0 82