Skip to content

Commit 559b20c

Browse files
committed
added Helpers::splitName()
1 parent 70433a3 commit 559b20c

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

src/Application/Helpers.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
/**
4+
* This file is part of the Nette Framework (https://nette.org)
5+
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
6+
*/
7+
8+
namespace Nette\Application;
9+
10+
use Nette;
11+
12+
13+
/**
14+
* Application helpers.
15+
*/
16+
class Helpers
17+
{
18+
use Nette\StaticClass;
19+
20+
/**
21+
* Splits name into [module, presenter] or [presenter, action]
22+
* @return array
23+
*/
24+
public static function splitName($name)
25+
{
26+
$pos = strrpos($name, ':');
27+
return $pos === FALSE
28+
? ['', $name, '']
29+
: [substr($name, 0, $pos), (string) substr($name, $pos + 1), ':'];
30+
}
31+
32+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
/**
4+
* Test: Helpers::splitName()
5+
*/
6+
7+
use Nette\Application\Helpers;
8+
use Tester\Assert;
9+
10+
11+
require __DIR__ . '/../bootstrap.php';
12+
13+
14+
Assert::same(['', '', ''], Helpers::splitName(''));
15+
Assert::same(['', 'One', ':'], Helpers::splitName(':One'));
16+
Assert::same(['Module', '', ':'], Helpers::splitName('Module:'));
17+
Assert::same(['Module', 'One', ':'], Helpers::splitName('Module:One'));
18+
Assert::same(['Module:Submodule', 'One', ':'], Helpers::splitName('Module:Submodule:One'));

0 commit comments

Comments
 (0)