Розділ 7. Додаткові можливості бібліотеки
Не можливо створити інтерфейс для усіх можливих цілей, тому має існувати можливість більш широкого використання бібліотеки. Цю можливість дає клас NCLNameCaseWord, який знаходиться у файлі Library/NCL/NCLNameCaseWord.php.
Коли фраза передається на відмінювання, вона розділяється на окремі слова, які зберігаються в одному масиві, але живуть окремим життям. Кожне слово має свою стать. Кожне слово належить до певного типу:
- S – прізвище
- F – по батькові
- N – ім’я
Кожне слово — це об’єкт класу NCLNameCaseWord. Розглянемо, які методи мають об’єкти цього класу.
- getNameCases() — повертає усі відмінки поточного слова
- getNameCase($number) — повертає відмінок із номером $number
- gender() — повертає стать поточного слова
- getNamePart() — повертає тип поточного слова S/F/N
Для того, щоб почати працювати з об’єктами типу NCLNameCaseWord, необхідно виконати дві нескладні операції:
- Виконати відмінювання ПІБ будь-яким чином, зазначеним у документації.
- Викликати метод getWordsArray(), який поверне масив об’єктів типу NCLNameCaseWord.
Один із прикладів використання наведений у файлі Tutorial/lesson7.php
<?php
header('Content-type: text/html; charset=utf-8');
require '../Library/NCL.NameCase.ru.php';
$nc = new NCLNameCaseRu();
$name = "Ефиопский Аркадий Василевич";
/**
* відмінюємо слово зручним методом
*/
$nc->q($name);
/**
* отримуємо масив об’єктів типу NCLNameCaseWord
*/
$words = $nc->getWordsArray();
foreach ($words as $word)
{
/**
* виводимо тип кожного слова на екран
*/
echo $word->getNamePart().' '.$word->getNameCase(NCL::$TVORITELN)."\n";
}
/**
* Отримуємо:
* S Ефиопским
* N Аркадием
* F Василевичем
*/
?>