PHP Classes

File: src/Processors/ResourceProcessor.php

Recommend this page to a friend!
  Classes of Rodolfo Berrios Arce   Var-Dump   src/Processors/ResourceProcessor.php   Download  
File: src/Processors/ResourceProcessor.php
Role: Class source
Content type: text/plain
Description: Class source
Class: Var-Dump
Show the value of a variable in colored way
Author: By
Last change:
Date: 1 month ago
Size: 1,359 bytes
 

Contents

Class file image Download
<?php

/*
 * This file is part of Chevere.
 *
 * (c) Rodolfo Berrios <[email protected]>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

declare(strict_types=1);

namespace
Chevere\VarDump\Processors;

use
Chevere\Parameter\Interfaces\TypeInterface;
use
Chevere\VarDump\Interfaces\ProcessorInterface;
use
Chevere\VarDump\Interfaces\VarDumperInterface;
use
Chevere\VarDump\Processors\Traits\ProcessorTrait;

final class
ResourceProcessor implements ProcessorInterface
{
    use
ProcessorTrait;

    private
string $stringVar = '';

    public function
__construct(
        private
VarDumperInterface $varDumper
   
) {
       
$this->assertType();
       
/** @var resource $resource */
       
$resource = $this->varDumper->dumpable()->var();
       
$this->info = 'type=' . get_resource_type($resource);
       
$this->stringVar = $this->varDumper->format()->highlight(
           
$this->type(),
           
strval($resource)
        );
    }

    public function
type(): string
   
{
        return
TypeInterface::RESOURCE;
    }

    public function
write(): void
   
{
       
$this->varDumper->writer()->write(
           
implode(' ', [
               
$this->stringVar,
               
$this->highlightParentheses($this->info),
            ])
        );
    }
}