!Ъ: http://habrahabr.ru/post/172119/
Ъ:
На ранних стадиях развития интернета, разработчикам приходилось использовать бедные, убогие языки программирования. Приходилось использовать только функции и операторы. Никаких объектов, никаких интерфейсов, никакого 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
Библиотека годится для применения с продакшене. Наслаждайтесь!
Я прекрасно понимаю, что это типа такая шутка, да (ведь шутка, правда?). Но кто-то же потратил туеву хучу времени на то, чтобы это написать. И немало найдется идиотов, которые её будут использовать.
Я в печали.