Единственный способ сделать это - перечислить файлы с их параметрами в манифесте, так что вам нужно знать все возможные параметры заранее, а затем использовать файл manifest.php, чтобы выплюнуть их, заканчивая файл манифеста, который выглядит примерно так:
CACHE MANIFEST
welcome.php?name=aaaa
welcome.php?name=aaab
welcome.php?name=aaac
...thousands more lines...
welcome.php?name=zzzz
NETWORK:
welcome.php
Однако я настоятельно рекомендую вам не делать это таким образом, если (как это выглядит) вы хотите предоставить пользователю персональную страницу приветствия. При таком подходе каждый пользователь будет загружать каждую страницу приветствия, даже если ему нужно будет увидеть только одну из них.
Есть два подхода, которые, я думаю, будут работать лучше:
1: доставка персонализированных страниц
Если единственной вещью, которая изменяется, является эта страница, вынудите пользователя войти в систему, прежде чем получить доступ к странице welcome.php, затем используйте переменную сеанса вместо параметра запроса для доставки персонализированной страницы. Затем вам просто нужно указать welcome.php в вашем манифесте, и каждый пользователь будет кэшировать одну персонализированную версию.
2: создание полностью автономного приложения
Если в вашем веб-приложении на каждом шаге будут данные, относящиеся к конкретному пользователю, вам нужно разбить, каковы общие компоненты приложения и каковы данные пользователя, и обслуживать их отдельно. Если ваше приложение будет делать что-то в автономном режиме, оно будет делать это с JavaScript, поэтому вам следует использовать JavaScript для обновления страницы в браузере, а не создавать целые страницы на стороне сервера с помощью PHP.
Большинство ваших PHP-страниц в основном будут шаблонами, которые вы будете загружать с пользовательскими данными через JavaScript (вы все равно можете заполнить их «старым» способом для пользователей, которые не имеют автономной возможности в браузере). У вас будет хотя бы одна страница PHP, которая доставляет данные в ответ на запросы AJAX. Для этого подхода вам нужно узнать о Local Storage и различных JavaScript API для управления кешем и обнаружения офлайн-состояния . Как только пользователь решит установить автономную версию вашего веб-приложения, вы загрузите все данные этого пользователя и поместите их в локальное хранилище, а затем используйте эти данные для обновления каждой страницы при загрузке, когда пользователь находится в автономном режиме . Любые сделанные изменения должны быть синхронизированы с сервером, когда пользователь снова подключен.