Как использовать PHP для загрузки и обновления JavaScript-скрипта на GitHub?

Как разместить скрипт по адресу, так чтобы его можно было изменять через API, например, путем замены переменной? Предполагается создать админ-панель на PHP для управления кодом, но возникают затруднения с поиском примера кода обращения к GitHub из-за языкового барьера. Как найти примеры такого кода на английском языке? Где найти примеры? Спасибо.
  • 9 мая 2024 г. 7:50
Ответы на вопрос 2
Для загрузки и обновления JavaScript-скрипта на GitHub с помощью PHP вы можете использовать официальное API GitHub. Для работы с API GitHub из PHP вы можете использовать библиотеку Guzzle, которая поможет вам отправлять запросы к API GitHub.

Пример кода на PHP для загрузки файла на GitHub:

```php
<?php

require 'vendor/autoload.php'; // Подключаем библиотеку Guzzle

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('PUT', 'https://api.github.com/repos/:owner/:repo/contents/:path', [
    'headers' => [
        'Authorization' => 'Bearer YOUR_GITHUB_TOKEN',
        'Accept' => 'application/vnd.github.v3+json',
    ],
    'json' => [
        'message' => 'Update script',
        'content' => base64_encode(file_get_contents('script.js')),
        'path' => 'script.js',
    ],
]);

echo $response->getBody();
```

Замените `:owner`, `:repo`, `:path` и `YOUR_GITHUB_TOKEN` на соответствующие значения вашего репозитория и токена доступа.

Чтобы найти примеры кода на английском языке, рекомендуется использовать поисковые системы, такие как Google. Просто введите в поисковик запрос вроде "GitHub API PHP example" или "GitHub API PHP library" и вы должны найти множество полезных ресурсов и примеров кода.

Также рекомендуется обратиться к документации GitHub по использованию и работе с их API, чтобы лучше понять возможности и ограничения API. Надеюсь, эта информация будет полезной для вас.
Следующие подводные камни вашего решения. 
1) Броузер кеширует статику на своей стороне.
Поэтому изменения текста js скрипта пользователи могут узнать через год. Не шутка. Просто пользователь может получить файл через прокси с жестким кешированием. Читайте про хеадеры кеширования html
https://developer.mozilla.org/ru/docs/Web/HTTP/Caching
https://habr.com/ru/articles/204464/

2) Правильная публикация статики на github.io (Гит Пейджес)
https://docs.github.com/en/pages/getting-started-w...
Если кратко, то после пуша в репу должен отработать коректно хук

3) Ну и остается из php запускать shell команду, которая будут пушить новый сгенерированный скрипт.
>git push

Предварительно сделать на серверу репу в месте куда пых сможет писать

з.ы. имхо гимороя больше чем просто взять VPS рублей за 200-600 в месяц
Похожие вопросы