Розділ 2. Вбудовані константи

Оскільки кожен відмінок має свій порядковий номер, то для полегшення роботи з бібліотекою використовуються константи. Опис усіх констант можна знайти у класі NCL. Розглянему усі із них.

Для зазначення статі використовуються костанти:

Для зазначення відмінків російської мови:

Для зазнаяення відмінків української мови:

Варто звернути увагу не те, що крім кличного відмінка, в російській та українській мові всі відмінки — це одне і те ж. Тобто немає різниці, використовувати NCL::$RODITLN чи NCL::$UaRodovyi, так як NCL::$RODITLN = NCL::$UaRodovyi.

Використання вбудованих констант

Метод q($fullname, $caseNum=null, $gender=null) має три параметри. Два з них не є обов’язковими.

Параметр $caseNum вказує на форму відмінка, у яку необхідно поставити ПІБ $fullname. Якщо він не вказаний або має значення null, тоді метод повертає масив з усіма відмінками.

Параметр $gender вказує на стать людини. Якщо в якості параметру вказати NCL::$WOMAN, тоді відмінювання буде виконуватися за правилами відмінювання жіночих ПІБ. Якщо ж параметр не вказани або має значення null, тоді система сама визначить стать людини.

У параметре $fullname може бути будь-яка кількість слів. Система сама розділить їх на частини та виконає відмінювання кожної з них.

У файлі Tutorial/lesson2.php наведені приклади використання методу q().

<?php
header
('Content-type: text/html; charset=utf-8');
require 
'../Library/NCL.NameCase.ru.php';
$nc = new NCLNameCaseRu();

/**
 * Вказуємо відмінок російською константою
 */
echo $nc->q('Андрей Николаевич'NCL::$RODITLN)."\n";

/**
 * Вказуємо відмінок українською константою
 */
echo $nc->q('Андрей Николаевич'NCL::$UaRodovyi)."\n";

/**
 * Не вказуємо відмінок
 */
print_r($nc->q('Иващук'));

/**
 * Вказуємо чоловічу стать
 */
print_r($nc->q('Иващук'nullNCL::$MAN));        
?>  

Після виконання отримуємо наступне:

Андрея Николаевича
Андрея Николаевича
Array
(
    [0] => Иващук
    [1] => Иващук
    [2] => Иващук
    [3] => Иващук
    [4] => Иващук
    [5] => Иващук
)
Array
(
    [0] => Иващук
    [1] => Иващука
    [2] => Иващуку
    [3] => Иващука
    [4] => Иващуком
    [5] => Иващуке
)