mirror of
https://github.com/retailcrm/NameCaseLib.git
synced 2024-12-04 19:06:06 +03:00
[0.4] Добавлен туториал
This commit is contained in:
parent
fc8fd61225
commit
1f26130582
@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2011 Andriy Chaika, http://seagull.net.ua/
|
Copyright (c) 2011 Andriy Chaika, http://namecaselib.com/
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
a copy of this software and associated documentation files (the
|
a copy of this software and associated documentation files (the
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
header('Content-type: text/html; charset=utf-8');
|
|
||||||
/*
|
|
||||||
* Небольшой пример использования библиотеки
|
|
||||||
* 1. Шаг подключаем библиотеку
|
|
||||||
*/
|
|
||||||
require '../Library/NCL.NameCase.ru.php';
|
|
||||||
/*
|
|
||||||
* 2. Создаем объект
|
|
||||||
*/
|
|
||||||
$nc = new NCLNameCaseRu();
|
|
||||||
/*
|
|
||||||
* =========================
|
|
||||||
* Встроенные константы
|
|
||||||
* =========================
|
|
||||||
* NCL::$IMENITLN - именительный падеж
|
|
||||||
* NCL::$RODITLN - родительные падеж
|
|
||||||
* NCL::$DATELN - дательные падеж
|
|
||||||
* NCL::$VINITELN - винительный падеж
|
|
||||||
* NCL::$TVORITELN - творительный падеж
|
|
||||||
* NCL::$PREDLOGN - предложный падеж
|
|
||||||
*/
|
|
||||||
|
|
||||||
echo 'Отчет, ' .
|
|
||||||
$nc->q("Афонин Николай Сергеевич", NCL::$RODITLN)
|
|
||||||
. ' о проделаной работе вместе с его сыном ' .
|
|
||||||
$nc->q("Афонин Никита", NCL::$TVORITELN) .
|
|
||||||
' на осенних каникулах. Задание держалось на ' .
|
|
||||||
$nc->q("Маргаритта Николаевна", NCL::$PREDLOGN) .
|
|
||||||
'; Поздравляем всех предчастных, в том числе и ' .
|
|
||||||
$nc->q("Кардонский Серафим Ильич", NCL::$VINITELN) . ' и ' .
|
|
||||||
$nc->q("Лобудская София Викторовна", NCL::$VINITELN) .
|
|
||||||
'. Хотим передать поздравление также ' .
|
|
||||||
$nc->q("Игнатьев Павел Викторович", NCL::$DATELN) . ' и ' .
|
|
||||||
$nc->q("Сумарский Лев", NCL::$DATELN);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ========================
|
|
||||||
* Результат выполнения
|
|
||||||
* ========================
|
|
||||||
* Отчет, Афонина Николая Сергеевича о проделаной работе вместе с его сыном Афониным Никитой на осенних каникулах. Задание держалось на Маргаритте Николаевне; Поздравляем всех предчастных, в том числе и Кардонского Серафима Ильича и Лобудскую Софию Викторовну. Хотим передать поздравление также Игнатьеву Павлу Викторовичу и Сумарскому Льву
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
header('Content-type: text/html; charset=utf-8');
|
|
||||||
/*
|
|
||||||
* Небольшой пример использования библиотеки
|
|
||||||
* 1. Шаг подключаем библиотеку
|
|
||||||
*/
|
|
||||||
require '../Library/NCL.NameCase.ua.php';
|
|
||||||
/*
|
|
||||||
* 2. Создаем объект
|
|
||||||
*/
|
|
||||||
$nc = new NCLNameCaseUa();
|
|
||||||
/*
|
|
||||||
* =========================
|
|
||||||
* Встроенные константы
|
|
||||||
* =========================
|
|
||||||
* NCL::$IMENITLN - именительный падеж
|
|
||||||
* NCL::$RODITLN - родительные падеж
|
|
||||||
* NCL::$DATELN - дательные падеж
|
|
||||||
* NCL::$VINITELN - винительный падеж
|
|
||||||
* NCL::$TVORITELN - творительный падеж
|
|
||||||
* NCL::$PREDLOGN - предложный падеж
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* NCL::$UaNazyvnyi - називний відмінок
|
|
||||||
* NCL::$UaRodovyi - родовий відмінок
|
|
||||||
* NCL::$UaDavalnyi - давальный відмінок
|
|
||||||
* NCL::$UaZnahidnyi - знахідний відмінок
|
|
||||||
* NCL::$UaOrudnyi - орудний відмінок
|
|
||||||
* NCL::$UaMiszevyi - місцевий відмінок
|
|
||||||
* NCL::$UaKlychnyi - кличний відмінок
|
|
||||||
*/
|
|
||||||
|
|
||||||
echo 'Звіт, ' .
|
|
||||||
$nc->q("Афонін Микола Сергійович", NCL::$RODITLN)
|
|
||||||
. ' про виконану роботу разом з його сином ' .
|
|
||||||
$nc->q("Афонін Микита", NCL::$TVORITELN) .
|
|
||||||
' на осінніх канікулах. Завдання трималося на ' .
|
|
||||||
$nc->q("Маргарита Миколаївна", NCL::$PREDLOGN) .
|
|
||||||
'; Вітаємо всіх, а також ' .
|
|
||||||
$nc->q("Розумвський Андрій Миколайович", NCL::$VINITELN) . ' та ' .
|
|
||||||
$nc->q("Лобудска Софія Вікторівна", NCL::$VINITELN) .
|
|
||||||
'. Хочемо передати вітання ' .
|
|
||||||
$nc->q("Воробей Хорив Іларіонович", NCL::$DATELN) . ' і ' .
|
|
||||||
$nc->q("Мазепа Лев", NCL::$UaDavalnyi) . '. ' .
|
|
||||||
$nc->q("Афродіта Іллівна", NCL::$UaKlychnyi) . ', триматесь!';
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ========================
|
|
||||||
* Результат выполнения
|
|
||||||
* ========================
|
|
||||||
* Звіт, Афоніна Миколи Сергійовича про виконану роботу разом з його сином Афоніном Микитою на осінніх канікулах. Завдання трималося на Маргариті Миколаївні; Вітаємо всіх, а також Розумвського Андрія Миколайовича та Лобудску Софію Вікторівну. Хочемо передати вітання Вороб’єві Хоривові Іларіоновичу і Мазепі Левові. Афродіто Іллівно, триматесь!
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
31
Tutorial/lesson1.php
Normal file
31
Tutorial/lesson1.php
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Подключаем необходимый язык
|
||||||
|
*/
|
||||||
|
require '../Library/NCL.NameCase.ru.php';
|
||||||
|
/**
|
||||||
|
* Создаем обьект класса.
|
||||||
|
* Теперь библиотека готова к работе
|
||||||
|
*/
|
||||||
|
$nc = new NCLNameCaseRu();
|
||||||
|
/**
|
||||||
|
* Производим склонения и выводим результат на экран
|
||||||
|
*/
|
||||||
|
print_r($nc->q("Андрей Николаевич"));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Подключаем другой язык
|
||||||
|
*/
|
||||||
|
require '../Library/NCL.NameCase.ua.php';
|
||||||
|
/**
|
||||||
|
* Создаем объект класса.
|
||||||
|
* Теперь библиотека готова к работе
|
||||||
|
*/
|
||||||
|
$nc = new NCLNameCaseUa();
|
||||||
|
/**
|
||||||
|
* Производим склонения и выводим результат на экран
|
||||||
|
*/
|
||||||
|
print_r($nc->q("Андрій Миколайович"));
|
||||||
|
?>
|
25
Tutorial/lesson2.php
Normal file
25
Tutorial/lesson2.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?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('Иващук', null, NCL::$MAN));
|
||||||
|
?>
|
42
Tutorial/lesson3.php
Normal file
42
Tutorial/lesson3.php
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
require '../Library/NCL.NameCase.ru.php';
|
||||||
|
$nc = new NCLNameCaseRu();
|
||||||
|
|
||||||
|
$people = array("Андрей Николаевич", 'Ирина', 'Ефиопский Аркадий Василевич',
|
||||||
|
'Мария Николаевна', 'Розумовский Илья');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Выбираем случайного человека из списка
|
||||||
|
*/
|
||||||
|
$person = $people[rand(0, count($people) - 1)];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Определяем пол человека
|
||||||
|
*/
|
||||||
|
$gender = $nc->genderDetect($person);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Выводим приветствие
|
||||||
|
*/
|
||||||
|
echo "Мы хотим предложить " . $nc->q($person, NCL::$DATELN) . " наши новые товары из категорий:
|
||||||
|
<ul>";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* В зависимости от пола предлагаем разные товары
|
||||||
|
*/
|
||||||
|
if ($gender == NCL::$MAN)
|
||||||
|
{
|
||||||
|
echo "<li>Рыбалка и охота</li>
|
||||||
|
<li>Электроника</li>
|
||||||
|
<li>Инструменты для дома</li>";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo "<li>Книги о кулинарии</li>
|
||||||
|
<li>Косметика</li>
|
||||||
|
<li>Дом и семья</li>";
|
||||||
|
}
|
||||||
|
echo "</ul>";
|
||||||
|
?>
|
9
Tutorial/lesson4.php
Normal file
9
Tutorial/lesson4.php
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?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::$RODITLN)."\n";
|
||||||
|
echo $nc->q("ПороСЁнОК ПёТР", NCL::$RODITLN)."\n";
|
||||||
|
?>
|
30
Tutorial/lesson5.1.php
Normal file
30
Tutorial/lesson5.1.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
require '../Library/NCL.NameCase.ru.php';
|
||||||
|
$nc = new NCLNameCaseRu();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Можно не указывать пол и формат
|
||||||
|
*/
|
||||||
|
echo $nc->qFullName("Иванов", "Фёдор", "Ильич", null, NCL::$TVORITELN)."\n"; //Ивановым Фёдором Ильичом
|
||||||
|
|
||||||
|
/**
|
||||||
|
* В формате не обязательно использовать все слова
|
||||||
|
*/
|
||||||
|
echo $nc->qFullName("Иванов", "Фёдор", "Ильич", NCL::$MAN, NCL::$TVORITELN, "N F")."\n"; //Фёдором Ильичом
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Можно указать формат и не указывать пол человека
|
||||||
|
*/
|
||||||
|
echo $nc->qFullName("Иванов", "Фёдор", "Ильич", null, NCL::$TVORITELN, "S N")."\n"; //Ивановым Фёдором
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Можно указать все параметры
|
||||||
|
*/
|
||||||
|
echo $nc->qFullName("Иванов", "Фёдор", "Ильич", NCL::$MAN, NCL::$TVORITELN, "S N F")."\n"; //Ивановым Фёдором Ильичом
|
||||||
|
|
||||||
|
/**
|
||||||
|
* В строке-формате могут присутствовать любые символы
|
||||||
|
*/
|
||||||
|
echo $nc->qFullName("Иванов", "Фёдор", "Ильич", NCL::$MAN, NCL::$TVORITELN, "Фамилия: S, Имя: N, Отчество: F")."\n"; //Фамилия: Ивановым, Имя: Фёдором, Отчество: Ильичом
|
||||||
|
?>
|
20
Tutorial/lesson5.2.php
Normal file
20
Tutorial/lesson5.2.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
require '../Library/NCL.NameCase.ru.php';
|
||||||
|
$nc = new NCLNameCaseRu();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Пол можно не указывать
|
||||||
|
*/
|
||||||
|
echo $nc->qFatherName("Николаевич", NCL::$DATELN)."\n";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Если не указать падеж, получим массив со всеми падежами.
|
||||||
|
*/
|
||||||
|
print_r($nc->qFirstName("Андрей"));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* В ситувациях, когда не возможно определить пол, его полезно указать.
|
||||||
|
*/
|
||||||
|
echo $nc->qSecondName("Касюк", NCL::$DATELN, NCL::$MAN)."\n";
|
||||||
|
?>
|
20
Tutorial/lesson5.3.php
Normal file
20
Tutorial/lesson5.3.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
require '../Library/NCL.NameCase.ru.php';
|
||||||
|
$nc = new NCLNameCaseRu();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* В цепочках может вызыватся любое количество методов
|
||||||
|
*/
|
||||||
|
echo $nc->fullReset()->setFirstName("Андрей")->setFatherName("Николаевич")->getFormatted(NCL::$RODITLN, "N F")."\n";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Заканчиваются методы вызовом метода getFormatted(), который возвращает искомую строку
|
||||||
|
*/
|
||||||
|
print_r($nc->fullReset()->setFullName("Афросинин", "Павел", "Илларионович")->getFormatted(null, "N F S"));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Начинаются все цепочки с вызова метода fullReset();
|
||||||
|
*/
|
||||||
|
echo $nc->fullReset()->setSecondName("Романчук")->setGender(NCL::$MAN)->getFormatted(NCL::$DATELN);
|
||||||
|
?>
|
24
Tutorial/lesson6.php
Normal file
24
Tutorial/lesson6.php
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
require '../Library/NCL.NameCase.ru.php';
|
||||||
|
$nc = new NCLNameCaseRu();
|
||||||
|
|
||||||
|
$people = array("Андрей Николаевич", 'Ирина', 'Ефиопский Аркадий Василевич',
|
||||||
|
'Мария Николаевна', 'Розумовский Илья');
|
||||||
|
|
||||||
|
foreach ($people as $person)
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Для каждого человека выводим формат ФИО
|
||||||
|
*/
|
||||||
|
echo $nc->getFullNameFormat($person).' - '.$person."\n";
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Результат выполнения:
|
||||||
|
* N F - Андрей Николаевич
|
||||||
|
* N - Ирина
|
||||||
|
* S N F - Ефиопский Аркадий Василевич
|
||||||
|
* N F - Мария Николаевна
|
||||||
|
* S N - Розумовский Илья
|
||||||
|
*/
|
||||||
|
?>
|
33
Tutorial/lesson7.php
Normal file
33
Tutorial/lesson7.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?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 Василевичем
|
||||||
|
*/
|
||||||
|
?>
|
Loading…
Reference in New Issue
Block a user