PHP Classes

File: src/Interfaces/VarDumperInterface.php

Recommend this page to a friend!
  Classes of Rodolfo Berrios Arce   Var-Dump   src/Interfaces/VarDumperInterface.php   Download  
File: src/Interfaces/VarDumperInterface.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: 16 days ago
Size: 3,088 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\Interfaces;

use
Chevere\Parameter\Interfaces\TypeInterface;
use
Chevere\VarDump\Processors\ArrayProcessor;
use
Chevere\VarDump\Processors\BoolProcessor;
use
Chevere\VarDump\Processors\FloatProcessor;
use
Chevere\VarDump\Processors\IntProcessor;
use
Chevere\VarDump\Processors\NullProcessor;
use
Chevere\VarDump\Processors\ObjectProcessor;
use
Chevere\VarDump\Processors\ResourceProcessor;
use
Chevere\VarDump\Processors\StringProcessor;
use
Chevere\Writer\Interfaces\WriterInterface;

/**
 * Describes the component in charge of handling variable dumping process.
 */
interface VarDumperInterface
{
    public const
FILE = '_file';

    public const
CLASS_REG = '_class';

    public const
CLASS_ANON = 'class@anonymous';

    public const
OPERATOR = '_operator';

    public const FUNCTION =
'_function';

    public const
MODIFIER = '_modifier';

    public const
VARIABLE = '_variable';

    public const
EMPHASIS = '_emphasis';

   
/**
     * @var array<string, string>
     */
   
public const PROCESSORS = [
       
TypeInterface::BOOL => BoolProcessor::class,
       
TypeInterface::ARRAY => ArrayProcessor::class,
       
TypeInterface::OBJECT => ObjectProcessor::class,
       
TypeInterface::INT => IntProcessor::class,
       
TypeInterface::STRING => StringProcessor::class,
       
TypeInterface::FLOAT => FloatProcessor::class,
       
TypeInterface::NULL => NullProcessor::class,
       
TypeInterface::RESOURCE => ResourceProcessor::class,
    ];

   
/**
     * Provides access to the `$writer` instance.
     */
   
public function writer(): WriterInterface;

   
/**
     * Provides access to the `$format` instance.
     */
   
public function format(): FormatInterface;

   
/**
     * Provides access to the `$dumpable` instance.
     */
   
public function dumpable(): VarDumpableInterface;

   
/**
     * Return an instance with the specified `$indent`.
     *
     * This method MUST retain the state of the current instance, and return
     * an instance that contains the specified `$indent`.
     */
   
public function withIndent(int $indent): self;

   
/**
     * Provides access to the instance indent value.
     */
   
public function indent(): int;

   
/**
     * Provides access to the instance indent string.
     */
   
public function indentString(): string;

   
/**
     * Return an instance with the specified `$depth`.
     *
     * This method MUST retain the state of the current instance, and return
     * an instance that contains the specified `$depth`.
     */
   
public function withDepth(int $depth): self;

   
/**
     * Provides access to the instance `$depth`.
     */
   
public function depth(): int;

   
/**
     * Process the dump.
     */
   
public function withProcess(): self;

    public function
objectReferences(): ObjectIdsInterface;
}