├── .gitignore ├── README.md ├── composer.json ├── composer.lock ├── diagrams └── DependencyInjectionUML.png ├── public ├── adapter.php ├── dependency-injection.php ├── null-object.php ├── select-plan.php └── type-safety.php ├── src ├── CsvFileWriter.php ├── ExtraLegroom.php ├── FileWriter.php ├── FlightReservation.php ├── FlightReservationDecorator.php ├── HoldLuggage.php ├── JsonFileWriter.php ├── NewCsvFileWriter.php ├── NewFileWriter.php ├── NewFileWriterAdapter.php ├── NonFileWriter.php ├── NullFileWriter.php ├── Plans │ ├── Free │ │ └── Plan.php │ ├── Plan.php │ ├── PlanFactory.php │ └── Pro │ │ └── Plan.php ├── Product.php ├── RandomProcessor.php └── StandardFlightReservation.php └── tests ├── FlightReservationTest.php └── RandomProcessorTest.php /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # php-design-patterns 2 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/composer.json -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/composer.lock -------------------------------------------------------------------------------- /diagrams/DependencyInjectionUML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/diagrams/DependencyInjectionUML.png -------------------------------------------------------------------------------- /public/adapter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/public/adapter.php -------------------------------------------------------------------------------- /public/dependency-injection.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/public/dependency-injection.php -------------------------------------------------------------------------------- /public/null-object.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/public/null-object.php -------------------------------------------------------------------------------- /public/select-plan.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/public/select-plan.php -------------------------------------------------------------------------------- /public/type-safety.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/public/type-safety.php -------------------------------------------------------------------------------- /src/CsvFileWriter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/CsvFileWriter.php -------------------------------------------------------------------------------- /src/ExtraLegroom.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/ExtraLegroom.php -------------------------------------------------------------------------------- /src/FileWriter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/FileWriter.php -------------------------------------------------------------------------------- /src/FlightReservation.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/FlightReservation.php -------------------------------------------------------------------------------- /src/FlightReservationDecorator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/FlightReservationDecorator.php -------------------------------------------------------------------------------- /src/HoldLuggage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/HoldLuggage.php -------------------------------------------------------------------------------- /src/JsonFileWriter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/JsonFileWriter.php -------------------------------------------------------------------------------- /src/NewCsvFileWriter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/NewCsvFileWriter.php -------------------------------------------------------------------------------- /src/NewFileWriter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/NewFileWriter.php -------------------------------------------------------------------------------- /src/NewFileWriterAdapter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaryClarke/php-design-patterns/HEAD/src/NewFileWriterAdapter.php -------------------------------------------------------------------------------- /src/NonFileWriter.php: -------------------------------------------------------------------------------- 1 |