mirror of
https://github.com/retailcrm/NameCaseLib.git
synced 2024-12-04 10:56:05 +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
|
||||
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