55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php declare(strict_types=1);
 | 
						|
/**
 | 
						|
 * This file is part of the Phootwork package.
 | 
						|
 * For the full copyright and license information, please view the LICENSE
 | 
						|
 * file that was distributed with this source code.
 | 
						|
 *
 | 
						|
 * @license MIT License
 | 
						|
 * @copyright Thomas Gossmann
 | 
						|
 */
 | 
						|
namespace phootwork\lang\inflector;
 | 
						|
 | 
						|
/**
 | 
						|
 * The generic interface to create a plural form of a name.
 | 
						|
 *
 | 
						|
 * @author Hans Lellelid <hans@xmpl.org>
 | 
						|
 * @author Cristiano Cinotti <cristianocinotti@gmail.com>
 | 
						|
 */
 | 
						|
interface InflectorInterface {
 | 
						|
	/**
 | 
						|
	 * Generate a plural name based on the passed in root.
 | 
						|
	 *
 | 
						|
	 * @param  string $root The root that needs to be pluralized (e.g. Author)
 | 
						|
	 *
 | 
						|
	 * @return string The plural form of $root.
 | 
						|
	 */
 | 
						|
	public function getPluralForm(string $root): string;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Generate a singular name based on the passed in root.
 | 
						|
	 *
 | 
						|
	 * @param  string $root The root that needs to be singularized (e.g. Authors)
 | 
						|
	 *
 | 
						|
	 * @return string The singular form of $root.
 | 
						|
	 */
 | 
						|
	public function getSingularForm(string $root): string;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Check if $root word is plural.
 | 
						|
	 *
 | 
						|
	 * @param string $root
 | 
						|
	 *
 | 
						|
	 * @return bool
 | 
						|
	 */
 | 
						|
	public function isPlural(string $root): bool;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Check if $root word is singular.
 | 
						|
	 *
 | 
						|
	 * @param $root
 | 
						|
	 *
 | 
						|
	 * @return bool
 | 
						|
	 */
 | 
						|
	public function isSingular(string $root): bool;
 | 
						|
}
 |