0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>В PHP стандартная библиотека небогата функциями для работы с коллекциями, строками или датами. Этот недостаток можно восполнить, подключив стороннюю библиотеку.</p>
1
<p>В PHP стандартная библиотека небогата функциями для работы с коллекциями, строками или датами. Этот недостаток можно восполнить, подключив стороннюю библиотеку.</p>
2
<p>Например, в мире JavaScript есть стандарт<a>lodash</a>, без которого не обходится практически ни один проект. В PHP нет единого устоявшегося решения, но есть пачка небольших, которые используются в разных проектах. Часть из них основана на объектном синтаксисе - мы рассмотрим их в более поздних уроках. Часть стандартов - это набор обычных функций. Кроме того, часть функций относится к функциям высшего порядка, которые мы еще не проходили, но разберем уже в следующем уроке.</p>
2
<p>Например, в мире JavaScript есть стандарт<a>lodash</a>, без которого не обходится практически ни один проект. В PHP нет единого устоявшегося решения, но есть пачка небольших, которые используются в разных проектах. Часть из них основана на объектном синтаксисе - мы рассмотрим их в более поздних уроках. Часть стандартов - это набор обычных функций. Кроме того, часть функций относится к функциям высшего порядка, которые мы еще не проходили, но разберем уже в следующем уроке.</p>
3
<p>Объектные:</p>
3
<p>Объектные:</p>
4
<ul><li><a>Collection</a></li>
4
<ul><li><a>Collection</a></li>
5
<li><a>Stringy</a></li>
5
<li><a>Stringy</a></li>
6
<li><a>Carbon</a></li>
6
<li><a>Carbon</a></li>
7
</ul><p>Использующие только функции:</p>
7
</ul><p>Использующие только функции:</p>
8
<ul><li><a>Funct</a></li>
8
<ul><li><a>Funct</a></li>
9
<li><a>Bottomline</a></li>
9
<li><a>Bottomline</a></li>
10
</ul><p>Сразу скажем, что в реальной работе необходимость использовать такие библиотеки возникает почти сразу. Еще совсем недавно PHP-программисты создавали файлы с полезными функциями и таскали их из одного проекта в другой. Эти времена уже прошли, можно не тратить время на то, что уже делалось тысячу раз до нас.</p>
10
</ul><p>Сразу скажем, что в реальной работе необходимость использовать такие библиотеки возникает почти сразу. Еще совсем недавно PHP-программисты создавали файлы с полезными функциями и таскали их из одного проекта в другой. Эти времена уже прошли, можно не тратить время на то, что уже делалось тысячу раз до нас.</p>
11
<p>К сожалению, мы не сможем разобрать все возможные функции в этих курсах. Кое-что мы рассмотрим, но уже после учебы не забывайте периодически просматривать библиотеки - вдруг найдется что-то полезное.</p>
11
<p>К сожалению, мы не сможем разобрать все возможные функции в этих курсах. Кое-что мы рассмотрим, но уже после учебы не забывайте периодически просматривать библиотеки - вдруг найдется что-то полезное.</p>
12
<p>Обратите внимание, что в указанных библиотеках иногда встречаются функции, которые уже встроены в сам язык. Так происходит по разным причинам:</p>
12
<p>Обратите внимание, что в указанных библиотеках иногда встречаются функции, которые уже встроены в сам язык. Так происходит по разным причинам:</p>
13
<ol><li><strong>Согласованность</strong>. Такие функции-дубликаты делают для того, чтобы библиотека была полной</li>
13
<ol><li><strong>Согласованность</strong>. Такие функции-дубликаты делают для того, чтобы библиотека была полной</li>
14
<li><strong>Исправление ошибок PHP</strong>. В некоторых PHP-функциях по историческим причинам есть ошибки. Библиотеки могут сделать те же функции, но уже без ошибок</li>
14
<li><strong>Исправление ошибок PHP</strong>. В некоторых PHP-функциях по историческим причинам есть ошибки. Библиотеки могут сделать те же функции, но уже без ошибок</li>
15
<li><strong>Улучшение</strong>. Функции библиотек могут быть лучше стандартных: иметь другой порядок аргументов, расширенные возможности, убранные ограничения или просто понятное имя</li>
15
<li><strong>Улучшение</strong>. Функции библиотек могут быть лучше стандартных: иметь другой порядок аргументов, расширенные возможности, убранные ограничения или просто понятное имя</li>
16
</ol><p>Итак, начнем изучать функции библиотек. Первая на очереди - библиотека Funct.</p>
16
</ol><p>Итак, начнем изучать функции библиотек. Первая на очереди - библиотека Funct.</p>
17
<h2>Коллекции</h2>
17
<h2>Коллекции</h2>
18
<h3>Функция last</h3>
18
<h3>Функция last</h3>
19
<p>Такая простая и нужная функция почему-то отсутствует в самом PHP:</p>
19
<p>Такая простая и нужная функция почему-то отсутствует в самом PHP:</p>
20
<h3>Функция rest</h3>
20
<h3>Функция rest</h3>
21
<p>Принимает на вход массив. Возвращает новый массив, в котором отсутствует первый элемент исходного:</p>
21
<p>Принимает на вход массив. Возвращает новый массив, в котором отсутствует первый элемент исходного:</p>
22
<h3>Функция without</h3>
22
<h3>Функция without</h3>
23
<p>Возвращает копию массива, из которого удалены все значения, переданные в функцию вторым и последующими параметрами:</p>
23
<p>Возвращает копию массива, из которого удалены все значения, переданные в функцию вторым и последующими параметрами:</p>
24
<h3>Функция flattenAll</h3>
24
<h3>Функция flattenAll</h3>
25
<p>Принимает вложенный массив и делает его плоским:</p>
25
<p>Принимает вложенный массив и делает его плоским:</p>
26
<h3>Функция union</h3>
26
<h3>Функция union</h3>
27
<p>Находит объединение множеств:</p>
27
<p>Находит объединение множеств:</p>
28
<h3>Функция findWhere($collection, $value)</h3>
28
<h3>Функция findWhere($collection, $value)</h3>
29
<p>Просматривает массив и возвращает первое значение, совпадающее по всем парам "ключ-значение", переданным вторым параметром:</p>
29
<p>Просматривает массив и возвращает первое значение, совпадающее по всем парам "ключ-значение", переданным вторым параметром:</p>
30
<h2>Строки</h2>
30
<h2>Строки</h2>
31
<h3>Функция camelize</h3>
31
<h3>Функция camelize</h3>
32
<p>Принимает на вход строку и возвращает ее версию, записанную в нотации<a>lowerCamelCase</a>:</p>
32
<p>Принимает на вход строку и возвращает ее версию, записанную в нотации<a>lowerCamelCase</a>:</p>
33
<h3>Функция contains</h3>
33
<h3>Функция contains</h3>
34
<p>Проверяет, включает ли строчка подстроку:</p>
34
<p>Проверяет, включает ли строчка подстроку:</p>
35
<h3>Функция endsWith</h3>
35
<h3>Функция endsWith</h3>
36
<p>Проверяет, оканчивается ли строчка на подстроку:</p>
36
<p>Проверяет, оканчивается ли строчка на подстроку:</p>
37
<h2>Выводы</h2>
37
<h2>Выводы</h2>
38
<p>В этом уроке перечислена лишь небольшая часть из всего многообразия, которое вы можете найти на GitHub в документации соответствующих библиотек. Изучить все функции в рамках курсов невозможно, да и не нужно. Достаточно периодически проходиться по документации популярных библиотек и просматривать, как они используются. Таким образом вы постепенно научитесь писать более понятный и лаконичный код.</p>
38
<p>В этом уроке перечислена лишь небольшая часть из всего многообразия, которое вы можете найти на GitHub в документации соответствующих библиотек. Изучить все функции в рамках курсов невозможно, да и не нужно. Достаточно периодически проходиться по документации популярных библиотек и просматривать, как они используются. Таким образом вы постепенно научитесь писать более понятный и лаконичный код.</p>