[0.4] Добавлен туториал

This commit is contained in:
Andriy Chaika 2011-07-09 17:54:13 +03:00
parent fc8fd61225
commit 1f26130582
12 changed files with 235 additions and 107 deletions

View File

@ -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

View File

@ -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);
/*
* ========================
* Результат выполнения
* ========================
* Отчет, Афонина Николая Сергеевича о проделаной работе вместе с его сыном Афониным Никитой на осенних каникулах. Задание держалось на Маргаритте Николаевне; Поздравляем всех предчастных, в том числе и Кардонского Серафима Ильича и Лобудскую Софию Викторовну. Хотим передать поздравление также Игнатьеву Павлу Викторовичу и Сумарскому Льву
*/

View File

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