Skip to content

Instantly share code, notes, and snippets.

@bluffyaloha
Forked from UnQuaiz/README.md
Last active September 22, 2021 20:41
Show Gist options
  • Save bluffyaloha/3c85fb0f4f2dcef4e652e4850d16f95b to your computer and use it in GitHub Desktop.
Save bluffyaloha/3c85fb0f4f2dcef4e652e4850d16f95b to your computer and use it in GitHub Desktop.
StringHandler

Имеется набор парсеров текстовых форматов: XmlParser и CsvParser. Сама реализация парсеров сейчас не имеет значения. Есть класс StringHandler - который имеет метод parseString(string $format, string $string)

Перепишите код таким образом, чтобы этот код можно было свободно расширять, добавлять новые типы парсеров, не модифицируя в дальнейшем класс StringHandler Руководствуйтесь принципами разработки которые знаете.

Решение можно оформить в виде gist'а Сделайте форк и в нём измените код

<?php
interface Parse
{
public function parse();
}
class XmlParser implements Parse
{
public function parse()
{
//.....
}
}
class CsvParser implements Parse
{
public function parse()
{
//.....
}
}
function StringParse(Parse $str){
return $str->parse();
}
>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment