Как использовать 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. Надеюсь, эта информация будет полезной для вас.
Следующие подводные камни вашего решения. <br/> 1) Броузер кеширует статику на своей стороне. <br/> Поэтому изменения текста js скрипта пользователи могут узнать через год.  Не шутка. Просто пользователь может получить файл через прокси с жестким кешированием. Читайте про хеадеры кеширования html <br/> <a href="https://developer.mozilla.org/ru/docs/Web/HTTP/Caching" rel="nofollow">https://developer.mozilla.org/ru/docs/Web/HTTP/Caching</a> <br/> <a href="https://habr.com/ru/articles/204464/" rel="nofollow">https://habr.com/ru/articles/204464/</a> <br/> <br/> 2) Правильная публикация статики на github.io (Гит Пейджес) <br/> <a href="https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages#static-site-generators" rel="nofollow">https://docs.github.com/en/pages/getting-started-w...</a> <br/> Если кратко, то после пуша в репу должен отработать коректно хук <br/> <br/> 3) Ну и остается из php запускать shell команду, которая будут пушить  новый сгенерированный скрипт. <br/> >git push <br/> <br/> Предварительно сделать на серверу репу в месте куда пых сможет писать <br/> <br/> з.ы. имхо гимороя больше чем просто взять VPS рублей за 200-600 в месяц
Похожие вопросы