This commit is contained in:
Dag 2023-09-25 21:18:48 +02:00 committed by GitHub
parent e1b911fc1f
commit cd30c25b08
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 282 additions and 884 deletions

View file

@ -1,24 +0,0 @@
Create a new file in the `formats/` folder (see [Folder structure](../04_For_Developers/03_Folder_structure.md)).
The file must be named according to following specification:
* It starts with the type
* The file name must end with 'Format'
* The file type must be PHP, written in small letters (seriously!) ".php"
**Examples:**
Type | Filename
-----|---------
Atom | AtomFormat.php
Html | HtmlFormat.php
The file must start with the PHP tags and end with an empty line. The closing tag `?>` is [omitted](http://php.net/basic-syntax.instruction-separation).
Example:
```PHP
<?PHP
// PHP code here
// This line is empty (just imagine it!)
```

View file

@ -1,132 +0,0 @@
The `FormatInterface` interface defines functions that need to be implemented by all formats:
* [display](#the-display-function)
* [stringify](#the-stringify-function)
* [setItems](#the-setitems-function)
* [getItems](#the-getitems-function)
* [setCharset](#the-setcharset-function)
* [getCharset](#the-getcharset-function)
* [setExtraInfos](#the-setextrainfos-function)
* [getExtraInfos](#the-getextrainfos-function)
* [getMimeType](#the-getmimetype-function)
Find a [template](#template) at the end of this file
# Functions
## The `stringify` function
The `stringify` function returns the items received by [`setItems`](#the-setitem-function) as string.
```PHP
stringify(): string
```
## The `setItems` function
The `setItems` function receives an array of items generated by the bridge and must return the object instance. Each item represents an entry in the feed. For more information refer to the [collectData](../05_Bridge_API/02_BridgeAbstract.md#collectdata) function.
```PHP
setItems(array $items): self
```
## The `getItems` function
The `getItems` function returns the items previously set by the [`setItems`](#the-setitems-function) function. If no items where set previously this function returns an error.
```PHP
getItems(): array
```
## The `setCharset` function
The `setCharset` function receives the character set value as string and returns the object instance.
```PHP
setCharset(string): self
```
## The `getCharset` function
The `getCharset` function returns the character set value.
```PHP
getCharset(): string
```
## The `setExtraInfos` function
The `setExtraInfos` function receives an array of elements with additional information to generate format outputs and must return the object instance.
```PHP
setExtraInfos(array $infos): self
```
Currently supported information are:
Name | Description
-----|------------
`name` | Defines the name as generated by the bridge
`uri` | Defines the URI of the feed as generated by the bridge
## The `getExtraInfos` function
The `getExtraInfos` function returns the information previously set via the [`setExtraInfos`](#the-setextrainfos-function) function.
```PHP
getExtraInfos(): array
```
## The `getMimeType` function
The `getMimeType` function returns the expected [MIME type](https://en.wikipedia.org/wiki/Media_type#Common_examples) of the format's output.
```PHP
parse_mime_type(): string
```
# Template
This is a bare minimum template for a format:
```PHP
<?php
class MyTypeFormat implements FormatInterface {
private $items;
private $charset;
private $extraInfos;
public function stringify(){
// Implement your code here
return ''; // Return items as string
}
public function setItems(array $items){
$this->items = $items;
return $this;
}
public function getItems(){
return $this->items;
}
public function setCharset($charset){
$this->charset = $charset;
return $this;
}
public function getCharset(){
return $this->charset;
}
public function setExtraInfos(array $infos){
$this->extraInfos = $infos;
return $this;
}
public function getExtraInfos(){
return $this->extraInfos;
}
}
// Imaginary empty line!
```

View file

@ -1,9 +0,0 @@
A Format is a class that allows RSS-Bridge to turn items from a bridge into an RSS-feed format.
It is developed in a PHP file located in the `formats/` folder
[Folder structure](../04_For_Developers/03_Folder_structure.md)
and either implements the
[FormatInterface](../08_Format_API/02_FormatInterface.md)
interface or extends the FormatAbstract class.
For more information about how to create a new _Format_, read
[How to create a new Format?](./01_How_to_create_a_new_format.md)