1. Go to this page and download the library: Download hellopablo/related-content library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hellopablo / related-content example snippets
namespace App\RelatedContent\Analysers;
use HelloPablo\RelatedContent\Interfaces;
use HelloPablo\RelatedContent\Relation;
class Article implements Interfaces\Analsyer
{
/**
* Analyses an item and returns an array of Interfaces\Relation
*
* @param object $item The item to analyse
*
* @return Relation\Node[]
*/
public function analyse(object $item): array
{
$nodes = [];
foreach ($item->categories as $categoryId) {
$nodes[] = new Relation\Node('CATEGORY', $categoryId);
}
foreach ($item->topics as $topicId) {
$nodes[] = new Relation\Node('TOPIC', $topicId);
}
return $nodes;
}
/**
* Returns the item's unique identifier
*
* @param object $item
*
* @return int
*/
public function getId(object $item)
{
return $item->id;
}
}
use App\RelatedContent\Analysers;
/**
* The item we wish to index. This would typically be retrieved using a
* model, an ORM, or some other app-orientated struct.
*/
$item = (object) [
'id' => 1,
'label' => 'My Article',
'body' => 'Nullam id dolor id nibh ultricies ... auctor fringilla.',
'categories' => [1, 2, 3],
'topics' => [5, 6, 7]
];
$analyser = new Analysers\Article();
$engine->index($item, $analyser);
use App\RelatedContent\Analysers;
$articleAnalyser = new Analysers\Article();
$blogAnalyser = new Analysers\Blog();
/**
* The item which was indexed; at minimum you need the analyser
* to be able to acertain the item's ID.
*/
$articleItem = (object) [
'id' => 1,
];
$results = $engine->query(
$articleItem,
$articleAnalyser
);
/**
* The item which was indexed; at minimum you need the analyser
* to be able to acertain the item's ID.
*/
$articleItem = (object) [
'id' => 1,
];
/**
* Return up to 3 related blog posts for our article.
*/
$results = $engine->query(
$articleItem,
$articleAnalyser,
[
$blogAnalyser
],
3
);
use App\RelatedContent\Analysers;
/**
* The item which was indexed; at minimum you need the analyser
* to be able to acertain the item's ID.
*/
$item = (object) [
'id' => 1,
];
$analyser = new Analysers\Article();
$relations = $engine->read($item, $analyser);
use App\RelatedContent\Analysers;
/**
* The item which was indexed; at minimum you need the analyser
* to be able to acertain the item's ID.
*/
$item = (object) [
'id' => 1,
];
$analyser = new Analysers\Article();
$relations = $engine->delete($item, $analyser);
$items = $engine->dump();
$engine->empty();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.