SimplePHPEasyPlus: Складываем числа на PHP

от автора

На ранних стадиях развития интернета, разработчикам приходилось использовать бедные, убогие языки программирования. Приходилось использовать только функции о операторы. Никаких объектов, никаких интерфейсов, никакого dependency injection!

Скажем, чтобы выполнить простую операцию сложения, нашим дедам приходилось писать: 1+1. Да, серьезно.

Но теперь-то у нас есть PHP 5.3 с отличной имплементацией ООП! Представляем библиотеку SimplePHPEasyPlus! SimplePHPEasyPlus позволит вам складывать два числа современным способом, с использованием ООП. Он быстрый, простой, гибкий и оттестированный. Чтобы добавить 1 к 1, нужно всего-лишь выполнить следующее:

use SimplePHPEasyPlus\Number\NumberCollection; use SimplePHPEasyPlus\Number\SimpleNumber; use SimplePHPEasyPlus\Number\CollectionItemNumberProxy; use SimplePHPEasyPlus\Parser\SimpleNumberStringParser; use SimplePHPEasyPlus\Iterator\CallbackIterator; use SimplePHPEasyPlus\Operator\AdditionOperator; use SimplePHPEasyPlus\Operation\ArithmeticOperation; use SimplePHPEasyPlus\Operation\OperationStream; use SimplePHPEasyPlus\Engine; use SimplePHPEasyPlus\Calcul\Calcul; use SimplePHPEasyPlus\Calcul\CalculRunner;   $numberCollection = new NumberCollection();  $numberParser = new SimpleNumberStringParser();  $firstParsedNumber = $numberParser->parse('1'); $firstNumber = new SimpleNumber($firstParsedNumber); $firstNumberProxy = new CollectionItemNumberProxy($firstNumber);  $numberCollection->add($firstNumberProxy);  $secondParsedNumber = $numberParser->parse('1'); $secondNumber = new SimpleNumber($secondParsedNumber); $secondNumberProxy = new CollectionItemNumberProxy($secondNumber);  $numberCollection->add($secondNumberProxy);  $addition = new AdditionOperator('SimplePHPEasyPlus\Number\SimpleNumber');  $operation = new ArithmeticOperation($addition);  $engine = new Engine($operation);  $calcul = new Calcul($engine, $numberCollection);  $runner = new CalculRunner();  $runner->run($calcul);  $result = $calcul->getResult(); $numericResult = $result->getValue(); // 2

Библиотека годится для применения с продакшене. Наслаждайтесь!

ссылка на оригинал статьи http://habrahabr.ru/post/172119/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *