Componette

Componette

ldrahnik

ldrahnik / url-matcher v2.0

Url matcher.

download-cloud-line composer require ldrahnik/url-matcher

ldrahnik/url-matcher

Build Status Latest stable Downloads total

Requirements

ldrahnik/url-matcher requires PHP 5.4 or higher.

Installation

Install url-matcher to your project using Composer:

$ composer require ldrahnik/url-matcher

Usage

create url

	$patterns = [
		'lang' => 'cz',
		'presenter' => 'home',
		'action' => 4
	];
	$mask = '[<lang>/]<presenter>/<action>';
	$matcher = new Matcher($mask, $patterns);
	
    	$results = $matcher->parse();
    	/*array [
		 'home/4',
		 'cz/home/4',
	];*/

confirm url

	$mask = '[<lang>/]<presenter>[/<action>]';
	$matcher = new Matcher($mask);

	$result = $matcher->match('en/admin');
	// true

Examples

	$mask = 'root/<folder>/<subfolder>/<file>.latte';
	
	$matcher = new UrlMatcher\Matcher($mask, [
		'folder' => '*',
		'subfolder' => 'foo',
		'file' => '*'
	]);
	
	$mask = $matcher->parse();
	// root/*/foo/*.latte

	foreach (glob($mask) as $filename) {
		echo basename($filename);
	}

Configuration

	$default = [
		'separator_lft' => '<',		
		'separator_rgt' => '>',		
		'optional_lft' => '[',		
		'optional_rgt' => ']'
	];
	$matcher = new Matcher(..., ..., $default);
price-tag-2-line

Badges

guide-fill

Dependencies

php (>=7.0)
nette/di (@dev)
Componette Componette felix@nette.org