HTML Diff
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>