Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* Мой первый трейт в жизни Basic_Instinct )) */
- trait ViewTrait
- {
- public static function fromArray(array $data = []): self {
- foreach (get_object_vars($obj = new self) as $property => $default) {
- $obj->$property = $data[$property] ?? $default;
- }
- return $obj;
- }
- }
- /* Вьюха, дто, как к не назови */
- class View
- {
- use ViewTrait;
- public ?Ulid $id = null;
- public ?string $name = null;
- }
- /* метод DBAL */
- public function getName(): \Generator
- {
- $stmt = $this->connection->createQueryBuilder()
- ->select('
- `data`.`id`,
- `data`.`name`
- ');
- $stmt->from('`table_name`', '`data`');
- $trtr = $stmt->execute();
- foreach ($trtr as $row) {
- yield View::fromArray($row);
- }
- }
- /* Контроллер, если желаете */
- public function index(NameQuery $nameQuery): Response
- {
- $name = $nameQuery->getName();
- foreach ($name as $item) {
- dump($item);
- }
- return new Response('...');
- }
Advertisement
Add Comment
Please, Sign In to add comment