for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace morphos\Russian;
use morphos\S;
trait CasesHelper
{
use \morphos\CasesHelper;
/**
* @param string $case
* @return string
* @throws \Exception
*/
public static function canonizeCase($case)
$case = S::lower($case);
switch ($case) {
case Cases::IMENIT:
case 'именительный':
case 'именит':
case 'и':
return Cases::IMENIT;
case Cases::RODIT:
case 'родительный':
case 'родит':
case 'р':
return Cases::RODIT;
case Cases::DAT:
case 'дательный':
case 'дат':
case 'д':
return Cases::DAT;
case Cases::VINIT:
case 'винительный':
case 'винит':
case 'в':
return Cases::VINIT;
case Cases::TVORIT:
case 'творительный':
case 'творит':
case 'т':
return Cases::TVORIT;
case Cases::PREDLOJ:
case 'предложный':
case 'предлож':
case 'п':
return Cases::PREDLOJ;
case Cases::LOCATIVE:
return Cases::LOCATIVE;
default:
return \morphos\CasesHelper::canonizeCase($case);
}