Добрый день, пытаюсь реализовать поиск на сайте. В классах стало появляться много одинакового кода, поэтому решил создать отдельный абстрактный класс, в котором будут лежать все эти статические методы.
Есть класс
Article, который наследуется от абстрактного класса
Searchableclass Article extends Searchable
{
public static $indexName = 'article';
public static $mapping = [
'properties' => [
'url' => [
'type' => 'keyword'
],
'title' => [
'type' => 'text',
'boost' => 2
],
'full_text' => [
'type' => 'text'
],
]
];
}
abstract class Searchable
{
public static function createIndex()
{
$client = ClientBuilder::create()->build();
$indexExist = $client->indices()->exists(['index' => self::$indexName]);
if (!$indexExist)
{
$params = [
'index' => self::$indexName,
'body' => [
'mappings' => self::$mapping
]
];
$response = $client->indices()->create($params);
}
}
}
То есть в будущем я хочу просто вызывать методы следующим образом:
Article::createIndex();
Как мне в классе
Searchable получить значения класса
Article?