mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-02-23 17:22:41 +01:00
35 lines
746 B
PHP
35 lines
746 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace DesignPatterns\Structural\Adapter;
|
|
|
|
/**
|
|
* this is the adapted class. In production code, this could be a class from another package, some vendor code.
|
|
* Notice that it uses another naming scheme and the implementation does something similar but in another way
|
|
*/
|
|
class Kindle implements EBook
|
|
{
|
|
private int $page = 1;
|
|
private int $totalPages = 100;
|
|
|
|
public function pressNext()
|
|
{
|
|
$this->page++;
|
|
}
|
|
|
|
public function unlock()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* returns current page and total number of pages, like [10, 100] is page 10 of 100
|
|
*
|
|
* @return int[]
|
|
*/
|
|
public function getPage(): array
|
|
{
|
|
return [$this->page, $this->totalPages];
|
|
}
|
|
}
|