matsevh/jeugdwerk-news

此包最新版本(v1.2.6)没有可用的许可证信息。

用于Jeugdwerk的包,用于将一个组织的多个新闻源合并到一个json文件中

v1.2.6 2024-01-14 10:24 UTC

README

Total Downloads Latest Version License

Jeugdwerk News 是为 Laravel 构建的包,但也可以在其他项目中使用。此包可以使用您选择的源创建 JSON 响应,并提供 RSS、ATOM、JSON Feed 和 JSON API 的可能选项。

入门

需要 PHP 8.1+

首先,使用 Composer 包管理器安装 Jeugdwerk News

composer require matsevh/jeugdwerk-news

首先,将 Jeugdwerk News 服务提供者添加到您的 config/app.php

'providers' => ServiceProvider::defaultProviders()->merge([
    /*
      * Package Service Providers...
      */
    \Matsevh\JeugdwerkNews\NewsServiceProvider::class,

    /*
      * Application Service Providers...
      */
    ...
])->toArray(),

之后,您可以迁移新闻提供者表

php artisan migrate

迁移后,您可以创建您的新闻提供者

use Matsevh\Jeugdwerk\NewsProviderController

$providerController = new NewsProviderController();
$provider = $providerController->create(
  link_to: 1, // The model id the provider is linked to
  name: 'First Provider', // The name of the provider
  /*
  The allowed and supported types are json and rss
  - rss for rss and atom feeds
  - json for json feeds and api's
  */ 
  type: 'json', 
  link: 'https://www.vrt.be/vrtnieuws/en.rss.articles.xml' // The link/url of the feed
  /*
  The next params are only used when using the type json
  */
  sub: [], // The levels that the will lower when reading the array
  truncate: true, // Truncate the summery to 100 characters
  authentication: [], // Only bearer is supported at the moment leave the array empty when no authentication required
  authentication: [
    'type' => 'bearer',
    'key' => 'Your Bearer Key'
  ], 
  // The field the json fields will turn into the keys are required
  fields: [
    "title" => '', // The news title
    "link" => '', // The link to the article
    "summery" => '', // The summery of the article
    'published' => '' // A Datetime of when the article was published
  ]
));

使用方法

提供者

更新

use Matsevh\Jeugdwerk\NewsProviderController

$providerController = new NewsProviderController();
$provider = $providerController->update(
  providerId: 1 // The provider id you want to update
  // You only have to include the params you want to update
  name: 'Updated Name', // The name of the provider
  truncate: false // Truncate the summery to 100 characters
));

删除

use Matsevh\Jeugdwerk\NewsProviderController

$providerController = new NewsProviderController();
$provider = $providerController->delete(
  providerId: 1 // The provider id you want to update
));

新闻

来自一个链接的新闻

use Matsevh\Jeugdwerk\NewsController

$newsController = new NewsController();
$news = $newsController->get(
  link_to: 1 // The link where want all the news from
);

所有新闻

use Matsevh\Jeugdwerk\NewsController

$newsController = new NewsController();
$news = $newsController->get();

Jeugdwerk News 是一个开源软件,许可协议为 MIT 许可证