PHP php-domain-parser библиотека для работы с URL

PHP php-domain-parser библиотека для работы с URL
Метки: /

В этой статье вы прочитаете по PHP библиотеку php-domain-parser или как её ещё называют PDP, для работы с URL, возможно для многих она будет полезна.

Также если вас интересуют другие PHP библиотеки, то возможно вам будет интересно почитать «Обзор PHP библиотеки Validation для валидации».

Установка библиотеки php-domain-parser:

Для установки как обычно нужно использовать composer, для этого напишите такую команду в терминале:

После этой вы сможете работать с этой библиотекой.

Работа с библиотекой php-domain-parser:

Тут стоит сказать, что вся эта статья по сути перевод, не большой части документации, которую вы найдёте на GitHub.

Разрешение доменов:

Эта библиотека может разрешать домен от:

В обоих случаях это делается с помощью метода разрешения, реализованного в экземпляре ресурса. Метод возвращает объект Pdp\ResolvedDomain, представляющий результат этого процесса.

Для Public Suffix List вам необходимо использовать класс Pdp\Rules, как показано ниже:

Для списка доменов верхнего уровня IANA вместо этого используется класс Pdp\TopLevelDomains:

В случае ошибки генерируется исключение, которое расширяет Pdp\CannotProcessHost.

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

  • Rules::getCookieDomain
  • Rules::getICANNDomain
  • Rules::getPrivateDomain

Для Public Suffix List и для списка доменов верхнего уровня следующий метод:

  • TopLevelDomains::getIANADomain

Эти методы разрешают домен относительно соответствующего источника данных, используя те же правила, что и метод resolve, но вместо этого выдают исключение, если не найден действительный эффективный TLD или если отправленный домен недействителен.

Все эти методы предполагают в качестве единственного аргумента реализующий объект Pdp\Host, но другие типы (то есть: string, null и строковые объекты) поддерживаются с предопределенными условиями, как описано в оставшемся документе.

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

  • fromString — Создать экземпляр преобразователя из встроенной строки, представляющей источник данных;
  • fromPath — Создайте экземпляр распознавателя по локальному пути или онлайн-URL, полагаясь на fopen;

Если создание экземпляра не работает, будет выброшено исключение.

ПРЕДУПРЕЖДЕНИЕ:

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

Использование Public Suffix List для определения того, какое доменное имя является действительным, а какое нет, опасно, особенно в наши дни, когда новые gTLDs появляются быстрыми темпами.

Если вы хотите узнать действительность домена верхнего уровня, «IANA Top Level Domain List» является подходящим источником для этой информации или, в качестве альтернативы, рассмотрите возможность использования непосредственно DNS.

Если вам необходимо использовать эту библиотеку для какой-либо из вышеперечисленных целей, рассмотрите возможность интеграции механизма обновления в ваше программное обеспечение.

Вывод:

В этой статье вы прочитали про PHP библиотеку php-domain-parser или как её ещё называют PDP для работы с URL, надеюсь вам было интересно и полезно, а если нужно больше, то читайте официальную документацию.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Также рекомендую:

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии