Skip to content
Cledilson Nascimento edited this page Jul 16, 2020 · 1 revision

*English Wiki, coming soon!

Bem vindo ao WIKI do Simple-MediumRSS!

O Simple-MediumRSS é um pacote/biblioteca desenvolvida em PHP, orientada a objetos, para consumir o RSS do site Medium.com com facilidade, pois sua curva de aprendizagem é mínima.

Instalação:

Para instalar via Composer:

composer require cledilsonweb/simple-mediumrss

Para instalar manualmente, faça o download usando a opção Download do Github para baixar a versão não-estável(em desenvolvimento) ou procure a versão desejada em https://github.com/cledilsonweb/simple-mediumrss/releases. Em Assets é possível encontrar o arquivo compactado para download.

Como usar

Use o autoload para importar a biblioteca, caso esteja usando Composer ou abordagem semelhante:

require __DIR__ . '/vendor/autoload.php';

$simple = new SimpleMediumRSS('https://medium.com/feed/@Medium');

echo $simple->getTitle();
echo $simple->getDescription();
echo $simple->getLastBuildDate();

$itens = $simple->getItens();
foreach($itens as $item){
    echo $item->getTitle();
    echo $item->getContent();
}

No exemplo acima, o SimpleMediumRSS está importando uma URL do Medium. Há também outras formas: User Profile e Publication. Para mais informações consulte a página oficial do Medium: https://help.medium.com/hc/en-us/articles/214874118-RSS-feeds

Usando uma Publication

//Cria a instância ainda não populada com os dados XML
$simple = new SimpleMediumRSS();
//Abre o RSS da publicação informada
$simple->fromPublication('the-story');

Usando um nome de usuário (@nome-usuario):

//Cria a instância ainda não populada com os dados XML
$simple = new SimpleMediumRSS();
//Abre o RSS do usuário informado
$simple->fromUserProfile('Medium');

Para acessar os dados da página informada, basta usar os métodos públicos da classe principal:

require __DIR__ . '/vendor/autoload.php';

$simple = new SimpleMediumRSS('https://medium.com/feed/@Medium');

echo $simple->getTitle();
echo $simple->getDescription();
echo $simple->getLastBuildDate($format); //Retorna uma String com a data no formato informado ou no formato padrão 'Y-m-d H:i:s'. Os formatos válidos são os mesmos da função nativa do PHP: date().
echo $simple->getImage(); //Retorna um objeto da classe SimpleMediumRSS\Image

Para listar os artigos:

require __DIR__ . '/vendor/autoload.php';

$simple = new SimpleMediumRSS('https://medium.com/feed/@Medium');

$itens = $simple->getItens(); //Retorna um objeto da classe SimpleMediumRSS\Item\ItemSet e pode ser percorrido retornando objetos do tipo SimpleMediumRSS\Item\Item

foreach($itens as $item){
    echo $item->getTitle();
    echo $item->getContent(); // Retorna uma string com o código HTML do artigo.
    echo $item->getLink(); // Link da publicação
    echo $item->getCategories(); // Retorna um array() de strings de categorias do artigo
    echo $item->getDate($format); //Retorna uma String com a data de PUBLICAÇÃO no formato informado ou no formato padrão 'Y-m-d H:i:s'. Os formatos válidos são os mesmos da função nativa do PHP: date().
    echo $item->getUpdated($format); //Retorna uma String com a data de ATUALIZAÇÃO no formato informado ou no formato padrão 'Y-m-d H:i:s'. Os formatos válidos são os mesmos da função nativa do PHP: date().

    // Além de getContent() para retornar o código html, na classe Item há também o método getContentText().
    // Este método retorna apenas o conteúdo em texto encontrado em parágrafos no HTML (<p></p>).
    echo $item->getContentText(); // Retorna todo o texto encontrado.
    echo $item->getContentText(180); // Retorna apenas os 180 primeiros caracteres do texto encontrado.
    echo $item->getContentText(180, 20); // Retorna o texto com a última palavra completa após o limite informado(180) com limite de 20 caracteres após este.
    echo $item->getContentText(180, 20, '<br/>'); // Mesmo que a opção anterior, mas adiciona a string informada entre os parágrafos encontrados. Neste exemplo insere uma quebra de linha em HTML.
}

Para mais informações, consulte a documentação interna no código-fonte ou através de sua IDE. Espero que te ajude.

Clone this wiki locally