Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Support/UriQueryString.php
Строк: 80
<?php

namespace IlluminateSupport;

use 
IlluminateContractsSupportArrayable;
use 
IlluminateSupportTraitsInteractsWithData;
use 
LeagueUriQueryString;
use 
Stringable;

class 
UriQueryString implements ArrayableStringable
{
    use 
InteractsWithData;

    
/**
     * Create a new URI query string instance.
     */
    
public function __construct(protected Uri $uri)
    {
        
//
    
}

    
/**
     * Retrieve all data from the instance.
     *
     * @param  mixed  $keys
     * @return array
     */
    
public function all($keys null)
    {
        
$query $this->toArray();

        if (! 
$keys) {
            return 
$query;
        }

        
$results = [];

        foreach (
is_array($keys) ? $keys func_get_args() as $key) {
            
Arr::set($results$keyArr::get($query$key));
        }

        return 
$results;
    }

    
/**
     * Retrieve data from the instance.
     *
     * @param  string|null  $key
     * @param  mixed  $default
     * @return mixed
     */
    
protected function data($key null$default null)
    {
        return 
$this->get($key$default);
    }

    
/**
     * Get a query string parameter.
     */
    
public function get(?string $key nullmixed $default null): mixed
    
{
        return 
data_get($this->toArray(), $key$default);
    }

    
/**
     * Get the URL decoded version of the query string.
     */
    
public function decode(): string
    
{
        return 
rawurldecode((string) $this);
    }

    
/**
     * Get the string representation of the query string.
     */
    
public function value(): string
    
{
        return (string) 
$this;
    }

    
/**
     * Convert the query string into an array.
     */
    
public function toArray()
    {
        return 
QueryString::extract($this->value());
    }

    
/**
     * Get the string representation of the query string.
     */
    
public function __toString(): string
    
{
        return (string) 
$this->uri->getUri()->getQuery();
    }
}
Онлайн: 2
Реклама