Глава 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 Василевичем
*/
?>