Просто простой вопрос (я гуглю это, но не нашел ответа). Что означает ? P в этом утверждении:
preg_match('/^posts\/(?P<id>\d+)$/', $url, $matches);
(?P<name>patt) - это именованный подшаблон .Это означает, что вы можете получить доступ к совпадению для этого подшаблона, просмотрев $matches['id'], а также обычный $matches[1].
(?P<name>patt)
$matches['id']
$matches[1]
Записывает совпадение идентификатора в обратную ссылку "", которая в данном случае равна . Проверьте эту ссылку для большей ясности: http://php.net/manual/en/function.preg-match.php