为了账号安全,请及时绑定邮箱和手机立即绑定

Request.php-2

标签:
PHP

/**

 * Determine if the current request URL and query string matches a pattern.

 *

 * @param  mixed  string

 * @return bool

 */

public function fullUrlIs()

{// check string like URL

    $url = $this->fullUrl();

 

    foreach (func_get_args() as $pattern) {

        if (Str::is($pattern, $url)) {

            return true;

        }

    }// foreach like loop it

 

    return false;

}//Determine if the current request URL and query string matches a pattern.

 

/**

 * Determine if the request is the result of an AJAX call.

 *

 * @return bool

 */

public function ajax()

{

    return $this->isXmlHttpRequest();

}//Determine if the request is the result of an AJAX call.

 

/**

 * Determine if the request is the result of an PJAX call.

 *

 * @return bool

 */

public function pjax()

{

    return $this->headers->get('X-PJAX') == true;

}//Determine if the request is the result of an PJAX call.

 

/**

 * Determine if the request is over HTTPS.

 *

 * @return bool

 */

public function secure()

{

    return $this->isSecure();

}//Determine if the request is over HTTPS.

 

/**

 * Returns the client IP address.

 *

 * @return string

 */

public function ip()

{

    return $this->getClientIp();

}// Returns the client IP address.

 

/**

 * Returns the client IP addresses.

 *

 * @return array

 */

public function ips()

{

    return $this->getClientIps();

}//Returns the client IP address.

 

/**

 * Determine if the request contains a given input item key.

 *

 * @param  string|array  $key

 * @return bool

 */

public function exists($key)

{//Determine if the request contains a given input item key.

    $keys = is_array($key) ? $key : func_get_args();// $key get the key

 

    $input = $this->all();// get all input request

 

    foreach ($keys as $value) {

        if (! array_key_exists($value, $input)) {

            return false;

        }

    }

 

    return true;

}

 

/**

 * Determine if the request contains a non-empty value for an input item.

 *

 * @param  string|array  $key

 * @return bool

 */

public function has($key)

{// Determine if the request contains a non-empty value for an input item.

    $keys = is_array($key) ? $key : func_get_args();

 

    foreach ($keys as $value) {

        if ($this->isEmptyString($value)) {

            return false;

        }

    }

 

    return true;

}

 

/**

 * Determine if the given input key is an empty string for "has".

 *

 * @param  string  $key

 * @return bool

 */

protected function isEmptyString($key)

{

    $value = $this->input($key);

 

    $boolOrArray = is_bool($value) || is_array($value);

 

    return ! $boolOrArray && trim((string) $value) === '';

}//Determine if the given input key is an empty string for "has"

 

/**

 * Get all of the input and files for the request.

 *

 * @return array

 */

public function all()

{

    return array_replace_recursive($this->input(), $this->allFiles());

}// Get all of the input and files for the request.

 

/**

 * Retrieve an input item from the request.

 *

 * @param  string  $key

 * @param  string|array|null  $default

 * @return string|array

 */

public function input($key = null, $default = null)

{

    $input = $this->getInputSource()->all() + $this->query->all();

 

    return data_get($input, $key, $default);

}//Retrieve an input item from the request.

 

/**

 * Get a subset of the items from the input data.

 *

 * @param  array|mixed  $keys

 * @return array

 */

public function only($keys)

{//Get a subset of the items from the input data.

    $keys = is_array($keys) ? $keys : func_get_args();// keys

 

    $results = [];// get result

 

    $input = $this->all();// get the input

 

    foreach ($keys as $key) {// loop keys

        Arr::set($results, $key, data_get($input, $key));

    }

 

    return $results;

}

 

/**

 * Get all of the input except for a specified array of items.

 *

 * @param  array|mixed  $keys

 * @return array

 */

public function except($keys)

{

    $keys = is_array($keys) ? $keys : func_get_args();

 

    $results = $this->all();

 

    Arr::forget($results, $keys);

 

    return $results;

}//Get all of the input except for a specified array of items.

 

/**

 * Retrieve a query string item from the request.

 *

 * @param  string  $key

 * @param  string|array|null  $default

 * @return string|array

 */

public function query($key = null, $default = null)

{

    return $this->retrieveItem('query', $key, $default);

}// Retrieve a query string item from the request.

 

/**

 * Determine if a cookie is set on the request.

 *

 * @param  string  $key

 * @return bool

 */

public function hasCookie($key)

{

    return ! is_null($this->cookie($key));// is_null

}//Determine if a cookie is set on the request.

 

/**

 * Retrieve a cookie from the request.

 *

 * @param  string  $key

 * @param  string|array|null  $default

 * @return string|array

 */

public function cookie($key = null, $default = null)

{

    return $this->retrieveItem('cookies', $key, $default);

}//Retrieve a cookie from the request.

 

/**

 * Get an array of all of the files on the request.

 *

 * @return array

 */

public function allFiles()

{

    $files = $this->files->all();

 

    return $this->convertedFiles

                ? $this->convertedFiles

                : $this->convertedFiles = $this->convertUploadedFiles($files);

}//get allFiles

 

/**

 * Convert the given array of Symfony UploadedFiles to custom Laravel UploadedFiles.

 *

 * @param  array  $files

 * @return array

 */

protected function convertUploadedFiles(array $files)

{//convert the given array of Smfony UploadedFiles to custom laravel UploadedFiles.

    return array_map(function ($file) {

        if (is_null($file) || (is_array($file) && empty(array_filter($file)))) {

            return $file;

        }

 

        return is_array($file)

                    ? $this->convertUploadedFiles($file)

                    : UploadedFile::createFromBase($file);

    }, $files);//return array_map

}

 

/**

 * Retrieve a file from the request.

 *

 * @param  string  $key

 * @param  mixed  $default

 * @return \Symfony\Component\HttpFoundation\File\UploadedFile|array|null

 */

public function file($key = null, $default = null)

{

    return data_get($this->allFiles(), $key, $default);

}//Retrieve a file from the request.

 

/**

 * Determine if the uploaded data contains a file.

 *

 * @param  string  $key

 * @return bool

 */

public function hasFile($key)

{//Determine if the uploaded data contains a file.

    if (! is_array($files = $this->file($key))) {

        $files = [$files];

    }

 

    foreach ($files as $file) {

        if ($this->isValidFile($file)) {

            return true;

        }

    }

 

    return false;

}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消