Verification: a143cc29221c9be0

Php array get if key exists

◆ __construct()

__construct ( Server  $server,
array  $queryString,
array  $postData,
array  $files,
array  $cookies 
)

Creates new HttpRequest object.

Аргументы
Server $server
array $queryString _GET
array $postData _POST
array $files _FILES
array $cookies _COOKIE

См. определение в файле httprequest.php строка 62

63  {

66 

72  $this->headers = $this->buildHttpHeaders($server);

73  }

prepareCookie(array $cookies)

__construct(Base $connector)

Constructor.

◆ addFilter()

Applies filter to the http request data.

Preserve original values.

Аргументы
Type\IRequestFilter $filter Filter object

Переопределяет метод предка Request.

См. определение в файле httprequest.php строка 91

92  {

93  $filteredValues = $filter->filter(array(

94  "get" => $this->queryString->values,

95  "post" => $this->postData->values,

96  "files" => $this->files->values,

97  "headers" => $this->headers,

98  "cookie" => $this->cookiesRaw->values

99  ));

100 

101  if (isset($filteredValues['get']))

102  $this->queryString->setValuesNoDemand($filteredValues['get']);

103  if (isset($filteredValues['post']))

104  $this->postData->setValuesNoDemand($filteredValues['post']);

105  if (isset($filteredValues['files']))

106  $this->files->setValuesNoDemand($filteredValues['files']);

107  if (isset($filteredValues['headers']) && ($this->headers instanceof HttpHeaders))

108  $this->headers = $filteredValues['headers'];

109  if (isset($filteredValues['cookie']))

110  {

111  $this->cookiesRaw->setValuesNoDemand($filteredValues['cookie']);

113  }

114 

115  if (isset($filteredValues['get']) || isset($filteredValues['post']))

116  $this->values = array_merge($this->queryString->values, $this->postData->values);

117  }

◆ decode()

См. определение в файле httprequest.php строка 333

334  {

336  }

static convertEncodingToCurrent($string)

◆ getAcceptedLanguages()

См. определение в файле httprequest.php строка 274

275  {

276  static $acceptedLanguages = array();

277 

278  if (empty($acceptedLanguages))

279  {

280  $acceptedLanguagesString = $this->server->get("HTTP_ACCEPT_LANGUAGE");

281  $arAcceptedLanguages = explode(",", $acceptedLanguagesString);

282  foreach ($arAcceptedLanguages as $langString)

283  {

284  $arLang = explode(";", $langString);

285  $acceptedLanguages[] = $arLang[0];

286  }

287  }

288 

289  return $acceptedLanguages;

290  }

◆ getCookie()

Returns the COOKIES parameter of the current request.

Аргументы
Возвращает
null|string

См. определение в файле httprequest.php строка 210

211  {

212  return $this->cookies->get($name);

213  }

◆ getCookieList()

Returns the list of COOKIES parameters of the current request.

Возвращает
Type\ParameterDictionary

См. определение в файле httprequest.php строка 220

◆ getCookieRaw()

См. определение в файле httprequest.php строка 225

226  {

227  return $this->cookiesRaw->get($name);

228  }

◆ getCookieRawList()

◆ getCookiesMode()

Returns Y if persistant cookies are enabled, N if disabled, or empty if unknown.

Возвращает
null|string

См. определение в файле httprequest.php строка 526

527  {

529  }

getCookie($name)

Returns the COOKIES parameter of the current request.

◆ getDecodedUri()

Returns url-decoded and converted to the current encoding URI of the request (except the query string).

Возвращает
string

См. определение в файле httprequest.php строка 319

320  {

321  $parsedUri = new Web\Uri("http://".$this->server->getHttpHost().$this->getRequestUri());

322 

323  $uri = static::decode($parsedUri->getPath());

324 

325  if(($query = $parsedUri->getQuery()) '')

326  {

327  $uri .= "?".$query;

328  }

329 

330  return $uri;

331  }

◆ getFile()

Returns the FILES parameter of the current request.

Аргументы
Возвращает
null|mixed

См. определение в файле httprequest.php строка 167

168  {

169  return $this->files->get($name);

170  }

◆ getFileList()

Returns the list of FILES parameters of the current request.

Возвращает
Type\ParameterDictionary

См. определение в файле httprequest.php строка 177

◆ getHeader()

Returns the header of the current request.

Аргументы
string $name Name of header.
Возвращает
null|string

См. определение в файле httprequest.php строка 189

190  {

191  return $this->headers->get($name);

192  }

◆ getHeaders()

Returns the list of headers of the current request.

Возвращает
HttpHeaders

См. определение в файле httprequest.php строка 199

◆ getHttpHost()

Returns the host from the server variable without a port number.

Возвращает
string

См. определение в файле httprequest.php строка 342

343  {

344  if ($this->httpHost === null)

345  {

346 

347  $url = new Web\Uri("http://".$this->server->getHttpHost());

348  $host = $url->getHost();

349  $host = trim($host, "\t\r\n\0 .");

350 

351  $this->httpHost = $host;

352  }

353 

355  }

◆ getInput()

Returns raw request data from php://input.

Возвращает
bool|string

См. определение в файле httprequest.php строка 517

518  {

519  return file_get_contents("php://input");

520  }

◆ getPost()

Returns the POST parameter of the current request.

Аргументы
Возвращает
null|mixed

См. определение в файле httprequest.php строка 146

147  {

148  return $this->postData->get($name);

149  }

◆ getPostList()

Returns the list of POST parameters of the current request.

Возвращает
Type\ParameterDictionary

См. определение в файле httprequest.php строка 156

◆ getQuery()

Returns the GET parameter of the current request.

Аргументы
string $name Parameter name
Возвращает
null|mixed

См. определение в файле httprequest.php строка 125

126  {

127  return $this->queryString->get($name);

128  }

◆ getQueryList()

Returns the list of GET parameters of the current request.

Возвращает
Type\ParameterDictionary

См. определение в файле httprequest.php строка 135

◆ getRemoteAddress()

См. определение в файле httprequest.php строка 235

236  {

237  return $this->server->get("REMOTE_ADDR");

238  }

◆ getRequestedPage()

Returns the current page calculated from the request URI.

Возвращает
string

Переопределяет метод предка Request.

См. определение в файле httprequest.php строка 297

298  {

299  if ($this->requestedPage === null)

300  {

302  {

303  $this->requestedPage = parent::getRequestedPage();

304  }

305  else

306  {

307  $parsedUri = new Web\Uri("http://".$this->server->getHttpHost().$uri);

308  $this->requestedPage = static::normalize(static::decode($parsedUri->getPath()));

309  }

310  }

312  }

◆ getRequestMethod()

См. определение в файле httprequest.php строка 245

246  {

247  return $this->server->getRequestMethod();

248  }

◆ getRequestUri()

См. определение в файле httprequest.php строка 240

241  {

242  return $this->server->getRequestUri();

243  }

◆ getScriptFile()

Returns script file possibly corrected by urlrewrite.php or virtual_file_system.php.

Возвращает
string

См. определение в файле httprequest.php строка 472

473  {

475  if($scriptName == "/bitrix/routing_index.php" || $scriptName == "/bitrix/urlrewrite.php" || $scriptName == "/404.php" || $scriptName == "/bitrix/virtual_file_system.php")

476  {

477  if(($v = $this->server->get("REAL_FILE_PATH")) != null)

478  {

479  $scriptName = $v;

480  }

481  }

482  return $scriptName;

483  }

◆ getServerPort()

Returns server port.

Возвращает
string | null

См. определение в файле httprequest.php строка 255

256  {

257  return $this->server->getServerPort();

258  }

◆ getSystemParameters()

static getSystemParameters ( )
static

Returns the array with predefined query parameters.

Возвращает
array

См. определение в файле httprequest.php строка 489

490  {

491  static $params = array(

492  "login",

493  "login_form",

494  "logout",

495  "register",

496  "forgot_password",

497  "change_password",

498  "confirm_registration",

499  "confirm_code",

500  "confirm_user_id",

501  "bitrix_include_areas",

502  "clear_cache",

503  "show_page_exec_time",

504  "show_include_exec_time",

505  "show_sql_stat",

506  "show_cache_stat",

507  "show_link_stat",

508  "sessid",

509  );

510  return $params;

511  }

◆ getUserAgent()

Returns the User-Agent HTTP request header.

Возвращает
null|string

См. определение в файле httprequest.php строка 269

270  {

271  return $this->server->get("HTTP_USER_AGENT");

272  }

◆ isHttps()

См. определение в файле httprequest.php строка 357

358  {

359  if($this->server->get("SERVER_PORT") == 443)

360  {

361  return true;

362  }

363 

364  $https = $this->server->get("HTTPS");

365  if($https '' && mb_strtolower($https) "off")

366  {

367 

368 

369  return true;

370  }

371 

372  return (Config\Configuration::getValue("https_request") === true);

373  }

◆ isPost()

◆ modifyByQueryString()

modifyByQueryString (   $queryString )

См. определение в файле httprequest.php строка 375

376  {

378  {

380 

381  $this->values += $vars;

382  $this->queryString->values += $vars;

383  }

384  }

◆ normalize()

static normalize (   $path )
staticprotected

См. определение в файле httprequest.php строка 455

456  {

457  if (mb_substr($path, -1, 1) === "/")

458  {

459  $path .= "index.php";

460  }

461 

463 

464  return $path;

465  }

◆ prepareCookie()

prepareCookie ( array  $cookies )
protected
Аргументы
Возвращает
array

См. определение в файле httprequest.php строка 390

391  {

392  static $cookiePrefix = null;

393  if ($cookiePrefix === null)

394  $cookiePrefix = Config\Option::get("main", "cookie_name", "BITRIX_SM")."_";

395 

396  $cookiePrefixLength = mb_strlen($cookiePrefix);

397 

398  $cookiesCrypter = new Web\CookiesCrypter();

399  $cookiesNew = $cookiesToDecrypt = [];

400  foreach ($cookies as $name => $value)

401  {

402  if (mb_strpos($name, $cookiePrefix) !== 0)

403  continue;

404 

405  $name = mb_substr($name, $cookiePrefixLength);

406  if (is_string($value) && $cookiesCrypter->shouldDecrypt($name, $value))

407  {

408  $cookiesToDecrypt[$name] = $value;

409  }

410  else

411  {

412  $cookiesNew[$name] = $value;

413  }

414  }

415 

416  foreach ($cookiesToDecrypt as $name => $value)

417  {

418  $cookiesNew[$name] = $cookiesCrypter->decrypt($name, $value, $cookiesNew);

419  }

420 

421  return $cookiesNew;

422  }

static get($moduleId, $name, $default="", $siteId=false)

Returns a value of an option.

◆ $cookies

◆ $cookiesRaw

◆ $files

◆ $headers

◆ $httpHost

◆ $postData

Введение

Laravel содержит множество глобальных «вспомогательных» функций PHP. Многие из этих функций используются самим фреймворком; однако, вы можете использовать их в своих собственных приложениях, если сочтете их удобными.

Доступные методы

Массивы и объекты

  • Arr::accessible
  • Arr::add
  • Arr::collapse
  • Arr::crossJoin
  • Arr::divide
  • Arr::dot
  • Arr::except
  • Arr::exists
  • Arr::first
  • Arr::flatten
  • Arr::forget
  • Arr::get
  • Arr::has
  • Arr::hasAny
  • Arr::isAssoc
  • Arr::last
  • Arr::only
  • Arr::pluck
  • Arr::prepend
  • Arr::pull
  • Arr::query
  • Arr::random
  • Arr::set
  • Arr::shuffle
  • Arr::sort
  • Arr::sortRecursive
  • Arr::where
  • Arr::wrap
  • data_fill
  • data_get
  • data_set
  • head
  • last

Пути

  • app_path
  • base_path
  • config_path
  • database_path
  • mix
  • public_path
  • resource_path
  • storage_path

Строки

  • __
  • class_basename
  • e
  • preg_replace_array
  • Str::after
  • Str::afterLast
  • Str::ascii
  • Str::before
  • Str::beforeLast
  • Str::between
  • Str::camel
  • Str::contains
  • Str::containsAll
  • Str::endsWith
  • Str::finish
  • Str::is
  • Str::isAscii
  • Str::isUuid
  • Str::kebab
  • Str::length
  • Str::limit
  • Str::lower
  • Str::markdown
  • Str::orderedUuid
  • Str::padBoth
  • Str::padLeft
  • Str::padRight
  • Str::plural
  • Str::pluralStudly
  • Str::random
  • Str::remove
  • Str::replace
  • Str::replaceArray
  • Str::replaceFirst
  • Str::replaceLast
  • Str::singular
  • Str::slug
  • Str::snake
  • Str::start
  • Str::startsWith
  • Str::studly
  • Str::substr
  • Str::substrCount
  • Str::title
  • Str::ucfirst
  • Str::upper
  • Str::uuid
  • Str::wordCount
  • Str::words
  • trans
  • trans_choice

Строки Fluent

Строки Fluent обеспечивают более гибкий объектно-ориентированный интерфейс для работы со строковыми значениями, позволяя объединять несколько строковых операций вместе с использованием более удобочитаемого синтаксиса по сравнению с традиционными строковыми операциями.

  • after
  • afterLast
  • append
  • ascii
  • basename
  • before
  • beforeLast
  • camel
  • contains
  • containsAll
  • dirname
  • endsWith
  • exactly
  • explode
  • finish
  • is
  • isAscii
  • isEmpty
  • isNotEmpty
  • kebab
  • length
  • limit
  • lower
  • ltrim
  • markdown
  • match
  • matchAll
  • padBoth
  • padLeft
  • padRight
  • pipe
  • plural
  • prepend
  • remove
  • replace
  • replaceArray
  • replaceFirst
  • replaceLast
  • replaceMatches
  • rtrim
  • singular
  • slug
  • snake
  • split
  • start
  • startsWith
  • studly
  • substr
  • tap
  • test
  • title
  • trim
  • ucfirst
  • upper
  • when
  • whenEmpty
  • words

URL-адреса

  • action
  • asset
  • route
  • secure_asset
  • secure_url
  • url

Разное

  • abort
  • abort_if
  • abort_unless
  • app
  • auth
  • back
  • bcrypt
  • blank
  • broadcast
  • cache
  • class_uses_recursive
  • collect
  • config
  • cookie
  • csrf_field
  • csrf_token
  • dd
  • dispatch
  • dump
  • env
  • event
  • filled
  • info
  • logger
  • method_field
  • now
  • old
  • optional
  • policy
  • redirect
  • report
  • request
  • rescue
  • resolve
  • response
  • retry
  • session
  • tap
  • throw_if
  • throw_unless
  • today
  • trait_uses_recursive
  • transform
  • validator
  • value
  • view
  • with

Список методов

Массивы и объекты

Arr::accessible()

Метод Arr::accessible определяет, доступно ли переданное значение массиву:

use Illuminate\Support\Arr;
use Illuminate\Support\Collection;

$isAccessible = Arr::accessible(['a' => 1, 'b' => 2]);



$isAccessible = Arr::accessible(new Collection);



$isAccessible = Arr::accessible('abc');



$isAccessible = Arr::accessible(new stdClass);


Arr::add()

Метод Arr::add добавляет переданную пару ключ / значение в массив, если указанный ключ еще не существует в массиве или установлен как null:

use Illuminate\Support\Arr;

$array = Arr::add(['name' => 'Desk'], 'price', 100);



$array = Arr::add(['name' => 'Desk', 'price' => null], 'price', 100);


Arr::collapse()

Метод Arr::collapse сворачивает массив массивов в один массив:

use Illuminate\Support\Arr;

$array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);


Arr::crossJoin()

Метод Arr::crossJoin перекрестно соединяет указанные массивы, возвращая декартово произведение со всеми возможными перестановками:

use Illuminate\Support\Arr;

$matrix = Arr::crossJoin([1, 2], ['a', 'b']);



$matrix = Arr::crossJoin([1, 2], ['a', 'b'], ['I', 'II']);


Arr::divide()

Метод Arr::divide возвращает два массива: один содержит ключи, а другой – значения переданного массива:

use Illuminate\Support\Arr;

[$keys, $values] = Arr::divide(['name' => 'Desk']);




Arr::dot()

Метод Arr::dot объединяет многомерный массив в одноуровневый, использующий «точечную нотацию» для обозначения глубины:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

$flattened = Arr::dot($array);


Arr::except()

Метод Arr::except удаляет переданные пары ключ / значение из массива:

use Illuminate\Support\Arr;

$array = ['name' => 'Desk', 'price' => 100];

$filtered = Arr::except($array, ['price']);


Arr::exists()

Метод Arr::exists проверяет, существует ли переданный ключ в указанном массиве:

use Illuminate\Support\Arr;

$array = ['name' => 'John Doe', 'age' => 17];

$exists = Arr::exists($array, 'name');



$exists = Arr::exists($array, 'salary');


Arr::first()

Метод Arr::first возвращает первый элемент массива, прошедший тест переданного замыкания на истинность:

use Illuminate\Support\Arr;

$array = [100, 200, 300];

$first = Arr::first($array, function ($value, $key) {
    return $value >= 150;
});


Значение по умолчанию может быть передано в качестве третьего аргумента методу. Это значение будет возвращено, если ни одно из значений не пройдет проверку на истинность:

use Illuminate\Support\Arr;

$first = Arr::first($array, $callback, $default);

Arr::flatten()

Метод Arr::flatten объединяет многомерный массив в одноуровневый:

use Illuminate\Support\Arr;

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$flattened = Arr::flatten($array);


Arr::forget()

Метод Arr::forget удаляет переданную пару ключ / значение из глубоко вложенного массива, используя «точечную нотацию»:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

Arr::forget($array, 'products.desk');


Arr::get()

Метод Arr::get извлекает значение из глубоко вложенного массива, используя «точечную нотацию»:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

$price = Arr::get($array, 'products.desk.price');


Метод Arr::get также принимает значение по умолчанию, которое будет возвращено, если указанный ключ отсутствует в массиве:

use Illuminate\Support\Arr;

$discount = Arr::get($array, 'products.desk.discount', 0);


Arr::has()

Метод Arr::has проверяет, существует ли переданный элемент или элементы в массиве, используя «точечную нотацию»:

use Illuminate\Support\Arr;

$array = ['product' => ['name' => 'Desk', 'price' => 100]];

$contains = Arr::has($array, 'product.name');



$contains = Arr::has($array, ['product.price', 'product.discount']);


Arr::hasAny()

Метод Arr::hasAny проверяет, существует ли какой-либо элемент в переданном наборе в массиве, используя «точечную нотацию»:

use Illuminate\Support\Arr;

$array = ['product' => ['name' => 'Desk', 'price' => 100]];

$contains = Arr::hasAny($array, 'product.name');



$contains = Arr::hasAny($array, ['product.name', 'product.discount']);



$contains = Arr::hasAny($array, ['category', 'product.discount']);


Arr::isAssoc()

Метод Arr::isAssoc возвращает true, если переданный массив является ассоциативным. Массив считается ассоциативным, если в нем нет последовательных цифровых ключей, начинающихся с нуля:

use Illuminate\Support\Arr;

$isAssoc = Arr::isAssoc(['product' => ['name' => 'Desk', 'price' => 100]]);



$isAssoc = Arr::isAssoc([1, 2, 3]);


Arr::last()

Метод Arr::last возвращает последний элемент массива, прошедший тест переданного замыкания на истинность:

use Illuminate\Support\Arr;

$array = [100, 200, 300, 110];

$last = Arr::last($array, function ($value, $key) {
    return $value >= 150;
});


Значение по умолчанию может быть передано в качестве третьего аргумента методу. Это значение будет возвращено, если ни одно из значений не пройдет проверку на истинность:

use Illuminate\Support\Arr;

$last = Arr::last($array, $callback, $default);

Arr::only()

Метод Arr::only возвращает только указанные пары ключ / значение из переданного массива:

use Illuminate\Support\Arr;

$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];

$slice = Arr::only($array, ['name', 'price']);


Arr::pluck()

Метод Arr::pluck извлекает все значения для указанного ключа из массива:

use Illuminate\Support\Arr;

$array = [
    ['developer' => ['id' => 1, 'name' => 'Taylor']],
    ['developer' => ['id' => 2, 'name' => 'Abigail']],
];

$names = Arr::pluck($array, 'developer.name');


Вы также можете задать ключ результирующего списка:

use Illuminate\Support\Arr;

$names = Arr::pluck($array, 'developer.name', 'developer.id');


Arr::prepend()

Метод Arr::prepend помещает элемент в начало массива:

use Illuminate\Support\Arr;

$array = ['one', 'two', 'three', 'four'];

$array = Arr::prepend($array, 'zero');


При необходимости вы можете указать ключ, который следует использовать для значения:

use Illuminate\Support\Arr;

$array = ['price' => 100];

$array = Arr::prepend($array, 'Desk', 'name');


Arr::pull()

Метод Arr::pull возвращает и удаляет пару ключ / значение из массива:

use Illuminate\Support\Arr;

$array = ['name' => 'Desk', 'price' => 100];

$name = Arr::pull($array, 'name');




Значение по умолчанию может быть передано в качестве третьего аргумента методу. Это значение будет возвращено, если ключ не существует:

use Illuminate\Support\Arr;

$value = Arr::pull($array, $key, $default);

Arr::query()

Метод Arr::query преобразует массив в строку запроса:

use Illuminate\Support\Arr;

$array = [
    'name' => 'Taylor',
    'order' => [
        'column' => 'created_at',
        'direction' => 'desc'
    ]
];

Arr::query($array);


Arr::random()

Метод Arr::random возвращает случайное значение из массива:

use Illuminate\Support\Arr;

$array = [1, 2, 3, 4, 5];

$random = Arr::random($array);


Вы также можете указать количество элементов для возврата в качестве необязательного второго аргумента. Обратите внимание, что при указании этого аргумента, будет возвращен массив, даже если требуется только один элемент:

use Illuminate\Support\Arr;

$items = Arr::random($array, 2);


Arr::set()

Метод Arr::set устанавливает значение с помощью «точечной нотации» во вложенном массиве:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

Arr::set($array, 'products.desk.price', 200);


Arr::shuffle()

Метод Arr::shuffle случайным образом перемешивает элементы в массиве:

use Illuminate\Support\Arr;

$array = Arr::shuffle([1, 2, 3, 4, 5]);


Arr::sort()

Метод Arr::sort сортирует массив по его значениям:

use Illuminate\Support\Arr;

$array = ['Desk', 'Table', 'Chair'];

$sorted = Arr::sort($array);


Вы также можете отсортировать массив по результатам переданного замыкания:

use Illuminate\Support\Arr;

$array = [
    ['name' => 'Desk'],
    ['name' => 'Table'],
    ['name' => 'Chair'],
];

$sorted = array_values(Arr::sort($array, function ($value) {
    return $value['name'];
}));


Arr::sortRecursive()

Метод Arr::sortRecursive рекурсивно сортирует массив с помощью метода sort для числовых подмассивов и ksort для ассоциативных подмассивов:

use Illuminate\Support\Arr;

$array = [
    ['Roman', 'Taylor', 'Li'],
    ['PHP', 'Ruby', 'JavaScript'],
    ['one' => 1, 'two' => 2, 'three' => 3],
];

$sorted = Arr::sortRecursive($array);


Arr::where()

Метод Arr::where фильтрует массив, используя переданное замыкание:

use Illuminate\Support\Arr;

$array = [100, '200', 300, '400', 500];

$filtered = Arr::where($array, function ($value, $key) {
    return is_string($value);
});


Arr::wrap()

Метод Arr::wrap оборачивает переданное значение в массив. Если переданное значение уже является массивом, то оно будет возвращено без изменений:

use Illuminate\Support\Arr;

$string = 'Laravel';

$array = Arr::wrap($string);


Если переданное значение равно null, то будет возвращен пустой массив:

use Illuminate\Support\Arr;

$array = Arr::wrap(null);


data_fill()

Функция data_fill устанавливает отсутствующее значение с помощью «точечной нотации» во вложенном массиве или объекте:

$data = ['products' => ['desk' => ['price' => 100]]];

data_fill($data, 'products.desk.price', 200);



data_fill($data, 'products.desk.discount', 10);


Допускается использование метасимвола подстановки *:

$data = [
    'products' => [
        ['name' => 'Desk 1', 'price' => 100],
        ['name' => 'Desk 2'],
    ],
];

data_fill($data, 'products.*.price', 200);


data_get()

Функция data_get возвращает значение с помощью «точечной нотации» из вложенного массива или объекта:

$data = ['products' => ['desk' => ['price' => 100]]];

$price = data_get($data, 'products.desk.price');


Функция data_get также принимает значение по умолчанию, которое будет возвращено, если указанный ключ не найден:

$discount = data_get($data, 'products.desk.discount', 0);


Допускается использование метасимвола подстановки *, предназначенный для любого ключа массива или объекта:

$data = [
    'product-one' => ['name' => 'Desk 1', 'price' => 100],
    'product-two' => ['name' => 'Desk 2', 'price' => 150],
];

data_get($data, '*.name');


data_set()

Функция data_set устанавливает значение с помощью «точечной нотации» во вложенном массиве или объекте:

$data = ['products' => ['desk' => ['price' => 100]]];

data_set($data, 'products.desk.price', 200);


Допускается использование метасимвола подстановки *:

$data = [
    'products' => [
        ['name' => 'Desk 1', 'price' => 100],
        ['name' => 'Desk 2', 'price' => 150],
    ],
];

data_set($data, 'products.*.price', 200);


По умолчанию все существующие значения перезаписываются. Если вы хотите, чтобы значение было установлено только в том случае, если оно не существует, вы можете передать false в качестве четвертого аргумента:

$data = ['products' => ['desk' => ['price' => 100]]];

data_set($data, 'products.desk.price', 200, $overwrite = false);


head()

Функция head возвращает первый элемент переданного массива:

$array = [100, 200, 300];

$first = head($array);


last()

Функция last возвращает последний элемент переданного массива:

$array = [100, 200, 300];

$last = last($array);


Пути

app_path()

Функция app_path возвращает полный путь к каталогу вашего приложения app. Вы также можете использовать функцию app_path для создания полного пути к файлу относительно каталога приложения:

$path = app_path();

$path = app_path('Http/Controllers/Controller.php');

base_path()

Функция base_path возвращает полный путь к корневому каталогу вашего приложения. Вы также можете использовать функцию base_path для генерации полного пути к заданному файлу относительно корневого каталога проекта:

$path = base_path();

$path = base_path('vendor/bin');

config_path()

Функция config_path возвращает полный путь к каталогу config вашего приложения. Вы также можете использовать функцию config_path для создания полного пути к заданному файлу в каталоге конфигурации приложения:

$path = config_path();

$path = config_path('app.php');

database_path()

Функция database_path возвращает полный путь к каталогу database вашего приложения. Вы также можете использовать функцию database_path для генерации полного пути к заданному файлу в каталоге базы данных:

$path = database_path();

$path = database_path('factories/UserFactory.php');

mix()

Функция mix возвращает путь к версионированному файлу Mix:

$path = mix('css/app.css');

public_path()

Функция public_path возвращает полный путь к каталогу public вашего приложения. Вы также можете использовать функцию public_path для генерации полного пути к заданному файлу в публичном каталоге:

$path = public_path();

$path = public_path('css/app.css');

resource_path()

Функция resource_path возвращает полный путь к каталогу resources вашего приложения. Вы также можете использовать функцию resource_path, чтобы сгенерировать полный путь к заданному файлу в каталоге исходников:

$path = resource_path();

$path = resource_path('sass/app.scss');

storage_path()

Функция storage_path возвращает полный путь к каталогу storage вашего приложения. Вы также можете использовать функцию storage_path для генерации полного пути к заданному файлу в каталоге хранилища:

$path = storage_path();

$path = storage_path('app/file.txt');

Строки

__()

Функция __ переводит переданную строку перевода или ключ перевода, используя ваши файлы локализации:

echo __('Welcome to our application');

echo __('messages.welcome');

Если указанная строка перевода или ключ не существует, то функция __ вернет переданное значение. Итак, используя приведенный выше пример, функция __ вернет messages.welcome, если этот ключ перевода не существует.

class_basename()

Функция class_basename возвращает имя переданного класса с удаленным пространством имен этого класса:

$class = class_basename('Foo\Bar\Baz');


e()

Функция e запускает PHP-функцию htmlspecialchars с параметром double_encode, установленным по умолчанию в true:

echo e('html>foohtml>');

// <html>foo</html>

preg_replace_array()

Функция preg_replace_array последовательно заменяет переданный шаблон в строке, используя массив:

$string = 'The event will take place between :start and :end';

$replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string);


Str::after()

Метод Str::after возвращает все после переданного значения в строке. Если значение не существует в строке, то будет возвращена вся строка:

use Illuminate\Support\Str;

$slice = Str::after('This is my name', 'This is');


Str::afterLast()

Метод Str::afterLast возвращает все после последнего вхождения переданного значения в строке. Если значение не существует в строке, то будет возвращена вся строка:

use Illuminate\Support\Str;

$slice = Str::afterLast('App\Http\Controllers\Controller', '\\');


Str::ascii()

Метод Str::ascii попытается транслитерировать строку в ASCII значение:

use Illuminate\Support\Str;

$slice = Str::ascii('û');


Str::before()

Метод Str :: before возвращает все до переданного значения в строке:

use Illuminate\Support\Str;

$slice = Str::before('This is my name', 'my name');


Str::beforeLast()

Метод Str::beforeLast возвращает все до последнего вхождения переданного значения в строке:

use Illuminate\Support\Str;

$slice = Str::beforeLast('This is my name', 'is');


Str::between()

Метод Str::between возвращает часть строки между двумя значениями:

use Illuminate\Support\Str;

$slice = Str::between('This is my name', 'This', 'name');


Str::camel()

Метод Str::camel преобразует переданную строку в camelCase:

use Illuminate\Support\Str;

$converted = Str::camel('foo_bar');


Str::contains()

Метод Str::contains определяет, содержит ли переданная строка указанное значение (с учетом регистра):

use Illuminate\Support\Str;

$contains = Str::contains('This is my name', 'my');


Вы также можете указать массив значений, чтобы определить, содержит ли переданная строка какое-либо из значений:

use Illuminate\Support\Str;

$contains = Str::contains('This is my name', ['my', 'foo']);


Str::containsAll()

Метод Str::containsAll определяет, содержит ли переданная строка все значения массива:

use Illuminate\Support\Str;

$containsAll = Str::containsAll('This is my name', ['my', 'name']);


Str::endsWith()

Метод Str::endsWith определяет, заканчивается ли переданная строка указанным значением:

use Illuminate\Support\Str;

$result = Str::endsWith('This is my name', 'name');


Вы также можете указать массив значений, чтобы определить, заканчивается ли переданная строка каким-либо из значений:

use Illuminate\Support\Str;

$result = Str::endsWith('This is my name', ['name', 'foo']);



$result = Str::endsWith('This is my name', ['this', 'foo']);


Str::finish()

Метод Str::finish добавляет один экземпляр указанного значения в переданную строку, если она еще не заканчивается этим значением:

use Illuminate\Support\Str;

$adjusted = Str::finish('this/string', '/');



$adjusted = Str::finish('this/string/', '/');


Str::is()

Метод Str::is определяет, соответствует ли переданная строка указанному шаблону. Допускается использование метасимвола подстановки *:

use Illuminate\Support\Str;

$matches = Str::is('foo*', 'foobar');



$matches = Str::is('baz*', 'foobar');


Str::isAscii()

Метод Str::isAscii определяет, является ли переданная строка 7-битной ASCII:

use Illuminate\Support\Str;

$isAscii = Str::isAscii('Taylor');



$isAscii = Str::isAscii('ü');


Str::isUuid()

Метод Str::isUuid определяет, является ли переданная строка допустимым UUID:

use Illuminate\Support\Str;

$isUuid = Str::isUuid('a0a2a2d2-0b87-4a18-83f2-2529882be2de');



$isUuid = Str::isUuid('laravel');


Str::kebab()

Метод Str::kebab преобразует переданную строку в kebab-case:

use Illuminate\Support\Str;

$converted = Str::kebab('fooBar');


Str::length()

Метод Str::length возвращает длину переданной строки:

use Illuminate\Support\Str;

$length = Str::length('Laravel');


Str::limit()

Метод Str::limit усекает переданную строку до указанной длины:

use Illuminate\Support\Str;

$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20);


Вы также можете передать третий строковый аргумент, содержимое которого будет добавлено в конец:

use Illuminate\Support\Str;

$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, ' (...)');


Str::lower()

Метод Str::lower преобразует переданную строку в нижний регистр:

use Illuminate\Support\Str;

$converted = Str::lower('LARAVEL');


Str::markdown()

Метод Str::markdown конвертирует текст с разметкой GitHub flavored Markdown в HTML:

use Illuminate\Support\Str;

$html = Str::markdown('# Laravel');



$html = Str::markdown('# Taylor Otwell', [
    'html_input' => 'strip',
]);


Str::orderedUuid()

Метод Str::orderedUuid генерирует UUID с «префиксом временной метки», который может быть эффективно сохранен в индексированном столбце базы данных. Каждый UUID, созданный с помощью этого метода, будет отсортирован после UUID, ранее созданных с помощью этого метода:

use Illuminate\Support\Str;

return (string) Str::orderedUuid();

Str::padBoth()

Метод Str::padBoth оборачивает функцию str_pad PHP, заполняя обе стороны строки другой строкой, пока конечная строка не достигнет желаемой длины:

use Illuminate\Support\Str;

$padded = Str::padBoth('James', 10, '_');



$padded = Str::padBoth('James', 10);


Str::padLeft()

Метод Str::padLeft оборачивает функцию str_pad PHP, заполняя левую часть строки другой строкой, пока конечная строка не достигнет желаемой длины:

use Illuminate\Support\Str;

$padded = Str::padLeft('James', 10, '-=');



$padded = Str::padLeft('James', 10);


Str::padRight()

Метод Str::padRight оборачивает функцию str_pad PHP, заполняя правую часть строки другой строкой, пока конечная строка не достигнет желаемой длины:

use Illuminate\Support\Str;

$padded = Str::padRight('James', 10, '-');



$padded = Str::padRight('James', 10);


Str::plural()

Метод Str::plural преобразует слово в форму множественного числа. В настоящее время этот метод поддерживает только английский язык:

use Illuminate\Support\Str;

$plural = Str::plural('car');



$plural = Str::plural('child');


Вы можете передать целое число в качестве второго аргумента метода для получения строки в единственном или множественном числе:

use Illuminate\Support\Str;

$plural = Str::plural('child', 2);



$singular = Str::plural('child', 1);


Str::pluralStudly()

Метод Str::pluralStudly преобразует строку единственного числа формата StudlyCase в форму множественного числа. В настоящее время этот метод поддерживает только английский язык:

use Illuminate\Support\Str;

$plural = Str::pluralStudly('VerifiedHuman');



$plural = Str::pluralStudly('UserFeedback');


Вы можете передать целое число в качестве второго аргумента метода для получения строки в единственном или множественном числе:

use Illuminate\Support\Str;

$plural = Str::pluralStudly('VerifiedHuman', 2);



$singular = Str::pluralStudly('VerifiedHuman', 1);


Str::random()

Метод Str::random генерирует случайную строку указанной длины. Этот метод использует функцию random_bytes PHP:

use Illuminate\Support\Str;

$random = Str::random(40);

Str::remove()

Метод Str::remove удаляет указанную подстроку или массив подстрок в строке:

use Illuminate\Support\Str;

$string = 'Peter Piper picked a peck of pickled peppers.';

$removed = Str::remove('e', $string);


Вы можете передать false в качестве третьего аргумента для игнорирования регистра удаляемых подстрок.

Str::replace()

Метод Str::replace заменяет в строке одну подстроку другой:

use Illuminate\Support\Str;

$string = 'Laravel 8.x';

$replaced = Str::replace('8.x', '9.x', $string);


Str::replaceArray()

Метод Str::replaceArray последовательно заменяет указанное значение в строке, используя массив:

use Illuminate\Support\Str;

$string = 'The event will take place between ? and ?';

$replaced = Str::replaceArray('?', ['8:30', '9:00'], $string);


Str::replaceFirst()

Метод Str::replaceFirst заменяет первое вхождение переданного значения в строке:

use Illuminate\Support\Str;

$replaced = Str::replaceFirst('the', 'a', 'the quick brown fox jumps over the lazy dog');


Str::replaceLast()

Метод Str::replaceLast заменяет последнее вхождение переданного значения в строке:

use Illuminate\Support\Str;

$replaced = Str::replaceLast('the', 'a', 'the quick brown fox jumps over the lazy dog');


Str::singular()

Метод Str::singular преобразует слово в форму единственного числа. В настоящее время этот метод поддерживает только английский язык:

use Illuminate\Support\Str;

$singular = Str::singular('cars');



$singular = Str::singular('children');


Str::slug()

Метод Str::slug создает «дружественный фрагмент» URL-адреса из переданной строки:

use Illuminate\Support\Str;

$slug = Str::slug('Laravel 5 Framework', '-');


Str::snake()

Метод Str::snake преобразует переданную строку в snake_case:

use Illuminate\Support\Str;

$converted = Str::snake('fooBar');


Str::start()

Метод Str::start добавляет один экземпляр указанного значения в переданную строку, если она еще не начинается этим значением:

use Illuminate\Support\Str;

$adjusted = Str::start('this/string', '/');



$adjusted = Str::start('/this/string', '/');


Str::startsWith()

Метод Str::startsWith определяет, начинается ли переданная строка с указанного значения:

use Illuminate\Support\Str;

$result = Str::startsWith('This is my name', 'This');


Str::studly()

Метод Str::studly преобразует переданную строку в StudlyCase:

use Illuminate\Support\Str;

$converted = Str::studly('foo_bar');


Str::substr()

Метод Str::substr возвращает часть строки, заданную параметрами «начало» и «длина»:

use Illuminate\Support\Str;

$converted = Str::substr('The Laravel Framework', 4, 7);


Str::substrCount()

Метод Str::substrCount возвращает число вхождений подстроки в строку:

use Illuminate\Support\Str;

$count = Str::substrCount('If you like ice cream, you will like snow cones.', 'like');


Str::title()

Метод Str::title преобразует переданную строку в Title Case:

use Illuminate\Support\Str;

$converted = Str::title('a nice title uses the correct case');


Str::ucfirst()

Метод Str::ucfirst возвращает переданную строку с первой заглавной буквой:

use Illuminate\Support\Str;

$string = Str::ucfirst('foo bar');


Str::upper()

Метод Str::upper преобразует переданную строку в верхний регистр:

use Illuminate\Support\Str;

$string = Str::upper('laravel');


Str::uuid()

Метод Str::uuid генерирует UUID (версия 4):

use Illuminate\Support\Str;

return (string) Str::uuid();

wordCount

Метод wordCount возвращает число слов в строке:

use Illuminate\Support\Str;

Str::wordCount('Hello, world!'); 

Str::words()

Метод Str::words ограничивает количество слов в строке. Дополнительная строка может быть передана этому методу через его третий аргумент, чтобы указать, какая строка должна быть добавлена в конец усеченной строки:

use Illuminate\Support\Str;

return Str::words('Perfectly balanced, as all things should be.', 3, ' >>>');


trans()

Функция trans переводит переданный ключ перевода, используя ваши файлы локализации:

echo trans('messages.welcome');

Если указанный ключ перевода не существует, функция trans вернет данный ключ. Итак, используя приведенный выше пример, функция trans вернет messages.welcome, если ключ перевода не существует.

trans_choice()

Функция trans_choice переводит заданный ключ перевода с изменением формы слова:

echo trans_choice('messages.notifications', $unreadCount);

Если указанный ключ перевода не существует, функция trans_choice вернет данный ключ. Итак, используя приведенный выше пример, функция trans_choice вернет messages.notifications, если ключ перевода не существует.

Строки Fluent

Строки Fluent обеспечивают более гибкий объектно-ориентированный интерфейс для работы со строковыми значениями, позволяя объединять несколько строковых операций вместе с использованием более удобочитаемого синтаксиса по сравнению с традиционными строковыми операциями.

after

Метод after возвращает все после переданного значения в строке. Вся строка будет возвращена, если значение не существует в строке:

use Illuminate\Support\Str;

$slice = Str::of('This is my name')->after('This is');


afterLast

Метод afterLast возвращает все после последнего вхождения переданного значения в строке. Вся строка будет возвращена, если значение не существует в строке:

use Illuminate\Support\Str;

$slice = Str::of('App\Http\Controllers\Controller')->afterLast('\\');


append

Метод append добавляет указанные значения в строку:

use Illuminate\Support\Str;

$string = Str::of('Taylor')->append(' Otwell');


ascii

Метод ascii попытается транслитерировать строку в значение ASCII:

use Illuminate\Support\Str;

$string = Str::of('ü')->ascii();


basename

Метод basename вернет завершающий компонент имени переданной строки:

use Illuminate\Support\Str;

$string = Str::of('/foo/bar/baz')->basename();


При необходимости вы можете указать «расширение», которое будет удалено из завершающего компонента:

use Illuminate\Support\Str;

$string = Str::of('/foo/bar/baz.jpg')->basename('.jpg');


before

Метод before возвращает все до указанного значения в строке:

use Illuminate\Support\Str;

$slice = Str::of('This is my name')->before('my name');


beforeLast

Метод beforeLast возвращает все до последнего вхождения переданного значения в строку:

use Illuminate\Support\Str;

$slice = Str::of('This is my name')->beforeLast('is');


camel

Метод camel преобразует переданную строку в camelCase:

use Illuminate\Support\Str;

$converted = Str::of('foo_bar')->camel();


contains

Метод contains определяет, содержит ли переданная строка указанное значение (с учетом регистра):

use Illuminate\Support\Str;

$contains = Str::of('This is my name')->contains('my');


Вы также можете указать массив значений, чтобы определить, содержит ли переданная строка какое-либо из этих значений:

use Illuminate\Support\Str;

$contains = Str::of('This is my name')->contains(['my', 'foo']);


containsAll

Метод containsAll определяет, содержит ли переданная строка все значения массива:

use Illuminate\Support\Str;

$containsAll = Str::of('This is my name')->containsAll(['my', 'name']);


dirname

Метод dirname возвращает родительскую часть директории переданной строки:

use Illuminate\Support\Str;

$string = Str::of('/foo/bar/baz')->dirname();


При желании вы можете указать, сколько уровней каталогов вы хотите вырезать из строки:

use Illuminate\Support\Str;

$string = Str::of('/foo/bar/baz')->dirname(2);


endsWith

Метод endsWith определяет, заканчивается ли переданная строка указанным значением:

use Illuminate\Support\Str;

$result = Str::of('This is my name')->endsWith('name');


Вы также можете указать массив значений, чтобы определить, заканчивается ли переданная строка каким-либо из указанных значений:

use Illuminate\Support\Str;

$result = Str::of('This is my name')->endsWith(['name', 'foo']);



$result = Str::of('This is my name')->endsWith(['this', 'foo']);


exactly

Метод exactly определяет, является ли переданная строка точным совпадением с другой строкой:

use Illuminate\Support\Str;

$result = Str::of('Laravel')->exactly('Laravel');


explode

Метод explode разделяет строку по заданному разделителю и возвращает коллекцию, содержащую каждый раздел строки разбиения:

use Illuminate\Support\Str;

$collection = Str::of('foo bar baz')->explode(' ');


finish

Метод finish добавляет один экземпляр указанного значения в переданную строку, если она еще не заканчивается этим значением:

use Illuminate\Support\Str;

$adjusted = Str::of('this/string')->finish('/');



$adjusted = Str::of('this/string/')->finish('/');


is

Метод is определяет, соответствует ли переданная строка указанному шаблону. Допускается использование метасимвола подстановки *:

use Illuminate\Support\Str;

$matches = Str::of('foobar')->is('foo*');



$matches = Str::of('foobar')->is('baz*');


isAscii

Метод isAscii определяет, является ли переданная строка строкой ASCII:

use Illuminate\Support\Str;

$result = Str::of('Taylor')->isAscii();



$result = Str::of('ü')->isAscii();


isEmpty

Метод isEmpty определяет, является ли переданная строка пустой:

use Illuminate\Support\Str;

$result = Str::of('  ')->trim()->isEmpty();



$result = Str::of('Laravel')->trim()->isEmpty();


isNotEmpty

Метод isNotEmpty определяет, является ли переданная строка не пустой:

use Illuminate\Support\Str;

$result = Str::of('  ')->trim()->isNotEmpty();



$result = Str::of('Laravel')->trim()->isNotEmpty();


kebab

Метод kebab преобразует переданную строку в kebab-case:

use Illuminate\Support\Str;

$converted = Str::of('fooBar')->kebab();


length

Метод length возвращает длину переданной строки:

use Illuminate\Support\Str;

$length = Str::of('Laravel')->length();


limit

Метод limit усекает переданную строку до указанной длины:

use Illuminate\Support\Str;

$truncated = Str::of('The quick brown fox jumps over the lazy dog')->limit(20);


Вы также можете передать второй строковый аргумент, содержимое которого будет добавлено в конец:

use Illuminate\Support\Str;

$truncated = Str::of('The quick brown fox jumps over the lazy dog')->limit(20, ' (...)');


lower

Метод lower преобразует переданную строку в нижний регистр:

use Illuminate\Support\Str;

$result = Str::of('LARAVEL')->lower();


ltrim

Метод ltrim удаляет символы из начала строки:

use Illuminate\Support\Str;

$string = Str::of('  Laravel  ')->ltrim();



$string = Str::of('/Laravel/')->ltrim('/');


markdown

Метод markdown конвертирует текст с разметкой GitHub flavored Markdown в HTML:

use Illuminate\Support\Str;

$html = Str::of('# Laravel')->markdown();



$html = Str::of('# Taylor Otwell')->markdown([
    'html_input' => 'strip',
]);


match

Метод match вернет часть строки, которая соответствует указанному шаблону регулярного выражения:

use Illuminate\Support\Str;

$result = Str::of('foo bar')->match('/bar/');



$result = Str::of('foo bar')->match('/foo (.*)/');


matchAll

Метод matchAll вернет коллекцию, содержащую части строки, которые соответствуют указанному шаблону регулярного выражения:

use Illuminate\Support\Str;

$result = Str::of('bar foo bar')->matchAll('/bar/');


Если вы укажете группировку в выражении, то Laravel вернет коллекцию совпадений этой группы:

use Illuminate\Support\Str;

$result = Str::of('bar fun bar fly')->matchAll('/f(\w*)/');


If no matches are found, an empty collection will be returned.

padBoth

Метод padBoth оборачивает функцию str_pad PHP, заполняя обе стороны строки другой строкой, пока конечная строка не достигнет желаемой длины:

use Illuminate\Support\Str;

$padded = Str::of('James')->padBoth(10, '_');



$padded = Str::of('James')->padBoth(10);


padLeft

Метод padLeft оборачивает функцию str_pad PHP, заполняя левую часть строки другой строкой, пока конечная строка не достигнет желаемой длины:

use Illuminate\Support\Str;

$padded = Str::of('James')->padLeft(10, '-=');



$padded = Str::of('James')->padLeft(10);


padRight

Метод padRight оборачивает функцию str_pad PHP, заполняя правую часть строки другой строкой, пока конечная строка не достигнет желаемой длины:

use Illuminate\Support\Str;

$padded = Str::of('James')->padRight(10, '-');



$padded = Str::of('James')->padRight(10);


pipe

Метод pipe позволяет вам преобразовать строку, передав ее текущее значение указанной функции обратного вызова:

use Illuminate\Support\Str;

$hash = Str::of('Laravel')->pipe('md5')->prepend('Checksum: ');



$closure = Str::of('foo')->pipe(function ($str) {
    return 'bar';
});


plural

Метод plural преобразует слово в форму множественного числа. В настоящее время этот метод поддерживает только английский язык:

use Illuminate\Support\Str;

$plural = Str::of('car')->plural();



$plural = Str::of('child')->plural();


Вы можете передать целое число в качестве второго аргумента метода для получения строки в единственном или множественном числе:

use Illuminate\Support\Str;

$plural = Str::of('child')->plural(2);



$plural = Str::of('child')->plural(1);


prepend

Метод prepend добавляет указанные значения в начало строки:

use Illuminate\Support\Str;

$string = Str::of('Framework')->prepend('Laravel ');


remove

Метод remove удаляет указанную подстроку или массив подстрок в строке:

use Illuminate\Support\Str;

$string = Str::of('Arkansas is quite beautiful!')->remove('quite');


Вы можете передать false в качестве второго аргумента для игнорирования регистра удаляемых подстрок.

replace

Метод replace заменяет указанную строку внутри строки:

use Illuminate\Support\Str;

$replaced = Str::of('Laravel 6.x')->replace('6.x', '7.x');


replaceArray

Метод replaceArray последовательно заменяет указанное значение в строке, используя массив:

use Illuminate\Support\Str;

$string = 'The event will take place between ? and ?';

$replaced = Str::of($string)->replaceArray('?', ['8:30', '9:00']);


replaceFirst

Метод replaceFirst заменяет первое вхождение указанного значения в строке:

use Illuminate\Support\Str;

$replaced = Str::of('the quick brown fox jumps over the lazy dog')->replaceFirst('the', 'a');


replaceLast

Метод replaceLast заменяет последнее вхождение указанного значения в строке:

use Illuminate\Support\Str;

$replaced = Str::of('the quick brown fox jumps over the lazy dog')->replaceLast('the', 'a');


replaceMatches

Метод replaceMatches заменяет все части строки, соответствующие указанному шаблону, переданной строки:

use Illuminate\Support\Str;

$replaced = Str::of('(+1) 501-555-1000')->replaceMatches('/[^A-Za-z0-9]++/', '')


Метод replaceMatches также принимает замыкание, которое будет вызвано для каждой части строки, соответствующей шаблону, что позволяет вам выполнять логику замены в замыкании и возвращать замененное значение:

use Illuminate\Support\Str;

$replaced = Str::of('123')->replaceMatches('/\d/', function ($match) {
    return '['.$match[0].']';
});


rtrim

Метод rtrim удаляет символы из конца строки:

use Illuminate\Support\Str;

$string = Str::of('  Laravel  ')->rtrim();



$string = Str::of('/Laravel/')->rtrim('/');


singular

Метод singular преобразует слово в форму единственного числа. В настоящее время этот метод поддерживает только английский язык:

use Illuminate\Support\Str;

$singular = Str::of('cars')->singular();



$singular = Str::of('children')->singular();


slug

Метод slug создает «дружественный фрагмент» URL-адреса из переданной строки:

use Illuminate\Support\Str;

$slug = Str::of('Laravel Framework')->slug('-');


snake

Метод snake преобразует переданную строку в snake_case:

use Illuminate\Support\Str;

$converted = Str::of('fooBar')->snake();


split

Метод split разбивает строку на коллекцию с помощью регулярного выражения:

use Illuminate\Support\Str;

$segments = Str::of('one, two, three')->split('/[\s,]+/');


start

Метод start добавляет один экземпляр указанного значения в переданную строку, если она еще не начинается этим значением:

use Illuminate\Support\Str;

$adjusted = Str::of('this/string')->start('/');



$adjusted = Str::of('/this/string')->start('/');


startsWith

Метод startsWith определяет, начинается ли переданная строка с указанного значения:

use Illuminate\Support\Str;

$result = Str::of('This is my name')->startsWith('This');


studly

Метод studly преобразует переданную строку в StudlyCase:

use Illuminate\Support\Str;

$converted = Str::of('foo_bar')->studly();


substr

Метод substr возвращает часть строки, заданную параметрами «начало» и «длина»:

use Illuminate\Support\Str;

$string = Str::of('Laravel Framework')->substr(8);



$string = Str::of('Laravel Framework')->substr(8, 5);


tap

Метод tap передает строку заданному замыканию, позволяя вам взаимодействовать с ней, не затрагивая при этом саму строку. Исходная строка возвращается методом tap независимо от того, что возвращает замыкание:

use Illuminate\Support\Str;

$string = Str::of('Laravel')
    ->append(' Framework')
    ->tap(function ($string) {
        dump('String after append: ' . $string);
    })
    ->upper();


test

Метод test определяет, соответствует ли строка переданному шаблону регулярного выражения:

use Illuminate\Support\Str;

$result = Str::of('Laravel Framework')->test('/Laravel/');


title

Метод title преобразует переданную строку в Title Case:

use Illuminate\Support\Str;

$converted = Str::of('a nice title uses the correct case')->title();


trim

Метод trim обрезает переданную строку:

use Illuminate\Support\Str;

$string = Str::of('  Laravel  ')->trim();



$string = Str::of('/Laravel/')->trim('/');


ucfirst

Метод ucfirst возвращает переданную строку с первой заглавной буквой:

use Illuminate\Support\Str;

$string = Str::of('foo bar')->ucfirst();


upper

Метод upper преобразует переданную строку в верхний регистр:

use Illuminate\Support\Str;

$adjusted = Str::of('laravel')->upper();


when

Метод when вызывает указанное замыкание, если переданное условие истинно. Замыкание получит экземпляр Fluent:

use Illuminate\Support\Str;

$string = Str::of('Taylor')
                ->when(true, function ($string) {
                    return $string->append(' Otwell');
                });


При необходимости вы можете передать другое замыкание в качестве третьего параметра методу when. Это замыкание будет выполнено, если параметр условия оценивается как false.

whenEmpty

Метод whenEmpty вызывает переданное замыкание, если строка пуста. Если замыкание возвращает значение, то это значение будет возвращено методом whenEmpty. Если замыкание не возвращает значение, будет возвращен экземпляр Fluent:

use Illuminate\Support\Str;

$string = Str::of('  ')->whenEmpty(function ($string) {
    return $string->trim()->prepend('Laravel');
});


wordCount

Метод wordCount возвращает число слов в строке:

use Illuminate\Support\Str;

Str::of('Hello, world!')->wordCount(); 

words

Метод words ограничивает количество слов в строке. Дополнительная строка может быть передана этому методу, чтобы указать, какая строка должна быть добавлена в конец усеченной строки:

use Illuminate\Support\Str;

$string = Str::of('Perfectly balanced, as all things should be.')->words(3, ' >>>');


URL-адреса

action()

Функция action генерирует URL-адрес для переданного действия контроллера:

use App\Http\Controllers\HomeController;

$url = action([HomeController::class, 'index']);

Если метод принимает параметры маршрута, вы можете передать их как второй аргумент методу:

$url = action([UserController::class, 'profile'], ['id' => 1]);

asset()

Функция asset генерирует URL для исходника (прим. перев.: директория resources), используя текущую схему запроса (HTTP или HTTPS):

$url = asset('img/photo.jpg');

Вы можете настроить хост URL исходников, установив переменную ASSET_URL в вашем файле .env. Это может быть полезно, если вы размещаете свои исходники на внешнем сервисе, таком как Amazon S3 или другой CDN:



$url = asset('img/photo.jpg'); 

route()

Функция route генерирует URL для переданного именованного маршрута:

$url = route('route.name');

Если маршрут принимает параметры, вы можете передать их в качестве второго аргумента методу:

$url = route('route.name', ['id' => 1]);

По умолчанию функция route генерирует абсолютный URL. Если вы хотите создать относительный URL, вы можете передать false в качестве третьего аргумента:

$url = route('route.name', ['id' => 1], false);

secure_asset()

Функция secure_asset генерирует URL для исходника, используя HTTPS:

$url = secure_asset('img/photo.jpg');

secure_url()

Функция secure_url генерирует полный URL-адрес для указанного пути, используя HTTPS. Дополнительные сегменты URL могут быть переданы во втором аргументе функции:

$url = secure_url('user/profile');

$url = secure_url('user/profile', [1]);

url()

Функция url генерирует полный URL-адрес для указанного пути:

$url = url('user/profile');

$url = url('user/profile', [1]);

Если путь не указан, будет возвращен экземпляр Illuminate\Routing\UrlGenerator:

$current = url()->current();

$full = url()->full();

$previous = url()->previous();