Skip to content

Commit a9232ec

Browse files
committed
cleanup
1 parent 25d3bb4 commit a9232ec

18 files changed

+100
-195
lines changed

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,18 +126,17 @@ That's all!
126126
### Extend the parser
127127
#### Base module
128128
In order to create your own modules, you'll first need an empty base module which contains
129-
all basic settings and methods for each module. To do so, you'll need to extend `BaseModule` and
130-
implement `BaseModuleInterface` (both in `\chillerlan\bbcode\Modules`). There's really not much to do,
131-
the only and most important thing is to tell the parser which modules to use. Further, you need to specify
129+
all basic settings and methods for each module. To do so, you'll need to extend
130+
`\chillerlan\bbcode\Modules\BaseModuleAbstract` . There's really not much to do, the only and most
131+
important thing is to tell the parser which modules to use. Further, you need to specify
132132
a `sanitize()` method and maybe an EOL token - the rest is up to you and may vary between output types.
133133
```php
134134
namespace Example\MyModules;
135135

136-
use chillerlan\bbcode\Modules\BaseModule;
137-
use chillerlan\bbcode\Modules\BaseModuleInterface;
136+
use chillerlan\bbcode\Modules\BaseModuleAbstract;
138137
use Example\MyModules\MyAwesomeModule;
139138

140-
class MyAwesomeBaseModule extends BaseModule implements BaseModuleInterface{
139+
class MyAwesomeBaseModule extends BaseModuleAbstract{
141140

142141
protected $modules = [
143142
MyAwesomeModule::class,

examples/MyModules/MyAwesomeBaseModule.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,12 @@
1212

1313
namespace chillerlan\bbcodeExamples\MyModules;
1414

15-
use chillerlan\bbcode\Modules\BaseModule;
16-
use chillerlan\bbcode\Modules\BaseModuleInterface;
15+
use chillerlan\bbcode\Modules\BaseModuleAbstract;
1716

1817
/**
1918
* The base module implements the basic functionality for each module (custom HTML5)
2019
*/
21-
class MyAwesomeBaseModule extends BaseModule implements BaseModuleInterface{
20+
class MyAwesomeBaseModule extends BaseModuleAbstract{
2221

2322
/**
2423
* Holds an array of FQN strings to the current base module's children

examples/MyModules/MyAwesomeModule.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
namespace chillerlan\bbcodeExamples\MyModules;
1414

1515
use chillerlan\bbcode\Modules\ModuleInterface;
16-
use chillerlan\bbcodeExamples\MyModules\MyAwesomeBaseModule;
1716

1817
/**
1918
* Transforms several simple text tags into HTML5 (custom)

src/Language/Chinese.php

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,9 @@
1313
namespace chillerlan\bbcode\Language;
1414

1515
/**
16-
* @method string parserExceptionCallback($override_language = null)
17-
* @method string parserExceptionMatchall($override_language = null)
1816
*
19-
* @method string codeDisplayCSS($override_language = null)
20-
* @method string codeDisplayPHP($override_language = null)
21-
* @method string codeDisplaySQL($override_language = null)
22-
* @method string codeDisplayXML($override_language = null)
23-
* @method string codeDisplayHTML($override_language = null)
24-
* @method string codeDisplayJS($override_language = null)
25-
* @method string codeDisplayJSON($override_language = null)
26-
* @method string codeDisplayPRE($override_language = null)
27-
* @method string codeDisplayCODE($override_language = null)
28-
* @method string codeDisplayNSIS($override_language = null)
29-
*
30-
* @method string expanderDisplayExpander($override_language = null)
31-
* @method string expanderDisplayQuote($override_language = null)
32-
* @method string expanderDisplaySpoiler($override_language = null)
33-
* @method string expanderDisplayTrigger($override_language = null)
3417
*/
35-
class Chinese extends LanguageBase implements LanguageInterface{
18+
class Chinese extends LanguageAbstract{
3619

3720
public $parserExceptionCallback = '';
3821
public $parserExceptionMatchall = '';

src/Language/DefaultStrings.php

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,9 @@
1313
namespace chillerlan\bbcode\Language;
1414

1515
/**
16-
* @method string parserExceptionCallback($override_language = null)
17-
* @method string parserExceptionMatchall($override_language = null)
1816
*
19-
* @method string codeDisplayCSS($override_language = null)
20-
* @method string codeDisplayPHP($override_language = null)
21-
* @method string codeDisplaySQL($override_language = null)
22-
* @method string codeDisplayXML($override_language = null)
23-
* @method string codeDisplayHTML($override_language = null)
24-
* @method string codeDisplayJS($override_language = null)
25-
* @method string codeDisplayJSON($override_language = null)
26-
* @method string codeDisplayPRE($override_language = null)
27-
* @method string codeDisplayCODE($override_language = null)
28-
* @method string codeDisplayNSIS($override_language = null)
29-
*
30-
* @method string expanderDisplayExpander($override_language = null)
31-
* @method string expanderDisplayQuote($override_language = null)
32-
* @method string expanderDisplaySpoiler($override_language = null)
33-
* @method string expanderDisplayTrigger($override_language = null)
3417
*/
35-
class DefaultStrings extends LanguageBase implements LanguageInterface{
18+
class DefaultStrings extends LanguageAbstract{
3619

3720
public $parserExceptionCallback = 'parserExceptionCallback';
3821
public $parserExceptionMatchall = 'parserExceptionMatchall';

src/Language/English.php

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,9 @@
1313
namespace chillerlan\bbcode\Language;
1414

1515
/**
16-
* @method string parserExceptionCallback($override_language = null)
17-
* @method string parserExceptionMatchall($override_language = null)
1816
*
19-
* @method string codeDisplayCSS($override_language = null)
20-
* @method string codeDisplayPHP($override_language = null)
21-
* @method string codeDisplaySQL($override_language = null)
22-
* @method string codeDisplayXML($override_language = null)
23-
* @method string codeDisplayHTML($override_language = null)
24-
* @method string codeDisplayJS($override_language = null)
25-
* @method string codeDisplayJSON($override_language = null)
26-
* @method string codeDisplayPRE($override_language = null)
27-
* @method string codeDisplayCODE($override_language = null)
28-
* @method string codeDisplayNSIS($override_language = null)
29-
*
30-
* @method string expanderDisplayExpander($override_language = null)
31-
* @method string expanderDisplayQuote($override_language = null)
32-
* @method string expanderDisplaySpoiler($override_language = null)
33-
* @method string expanderDisplayTrigger($override_language = null)
3417
*/
35-
class English extends LanguageBase implements LanguageInterface{
18+
class English extends LanguageAbstract{
3619

3720
public $parserExceptionCallback = 'preg_replace_callback() died on [%1$s] due to a %2$s (%3$s)';
3821
public $parserExceptionMatchall = 'preg_match_all() died due to a %1$s (%2$s)';

src/Language/French.php

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,9 @@
1313
namespace chillerlan\bbcode\Language;
1414

1515
/**
16-
* @method string parserExceptionCallback($override_language = null)
17-
* @method string parserExceptionMatchall($override_language = null)
1816
*
19-
* @method string codeDisplayCSS($override_language = null)
20-
* @method string codeDisplayPHP($override_language = null)
21-
* @method string codeDisplaySQL($override_language = null)
22-
* @method string codeDisplayXML($override_language = null)
23-
* @method string codeDisplayHTML($override_language = null)
24-
* @method string codeDisplayJS($override_language = null)
25-
* @method string codeDisplayJSON($override_language = null)
26-
* @method string codeDisplayPRE($override_language = null)
27-
* @method string codeDisplayCODE($override_language = null)
28-
* @method string codeDisplayNSIS($override_language = null)
29-
*
30-
* @method string expanderDisplayExpander($override_language = null)
31-
* @method string expanderDisplayQuote($override_language = null)
32-
* @method string expanderDisplaySpoiler($override_language = null)
33-
* @method string expanderDisplayTrigger($override_language = null)
3417
*/
35-
class French extends LanguageBase implements LanguageInterface{
18+
class French extends LanguageAbstract{
3619

3720
public $parserExceptionCallback = '';
3821
public $parserExceptionMatchall = '';

src/Language/German.php

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,9 @@
1313
namespace chillerlan\bbcode\Language;
1414

1515
/**
16-
* @method string parserExceptionCallback($override_language = null)
17-
* @method string parserExceptionMatchall($override_language = null)
18-
*
19-
* @method string codeDisplayCSS($override_language = null)
20-
* @method string codeDisplayPHP($override_language = null)
21-
* @method string codeDisplaySQL($override_language = null)
22-
* @method string codeDisplayXML($override_language = null)
23-
* @method string codeDisplayHTML($override_language = null)
24-
* @method string codeDisplayJS($override_language = null)
25-
* @method string codeDisplayJSON($override_language = null)
26-
* @method string codeDisplayPRE($override_language = null)
27-
* @method string codeDisplayCODE($override_language = null)
28-
* @method string codeDisplayNSIS($override_language = null)
29-
*
30-
* @method string expanderDisplayExpander($override_language = null)
31-
* @method string expanderDisplayQuote($override_language = null)
32-
* @method string expanderDisplaySpoiler($override_language = null)
33-
* @method string expanderDisplayTrigger($override_language = null)
16+
*
3417
*/
35-
class German extends LanguageBase implements LanguageInterface{
18+
class German extends LanguageAbstract{
3619

3720
public $parserExceptionCallback = 'preg_replace_callback() verursachte einen %2$s (%3$s) am tag [%1$s]';
3821
public $parserExceptionMatchall = 'preg_match_all() verursachte einen %1$s (%2$s)';

src/Language/LanguageAbstract.php

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<?php
2+
/**
3+
* Class LanguageAbstract
4+
*
5+
* @filesource LanguageAbstract.php
6+
* @created 11.02.2016
7+
* @package chillerlan\BBCode\Language
8+
* @author Smiley <smiley@chillerlan.net>
9+
* @copyright 2015 Smiley
10+
* @license MIT
11+
*/
12+
13+
namespace chillerlan\bbcode\Language;
14+
15+
use chillerlan\bbcode\Traits\ClassLoaderTrait;
16+
17+
/**
18+
* @method string parserExceptionCallback($override_language = null)
19+
* @method string parserExceptionMatchall($override_language = null)
20+
*
21+
* @method string codeDisplayCSS($override_language = null)
22+
* @method string codeDisplayPHP($override_language = null)
23+
* @method string codeDisplaySQL($override_language = null)
24+
* @method string codeDisplayXML($override_language = null)
25+
* @method string codeDisplayHTML($override_language = null)
26+
* @method string codeDisplayJS($override_language = null)
27+
* @method string codeDisplayJSON($override_language = null)
28+
* @method string codeDisplayPRE($override_language = null)
29+
* @method string codeDisplayCODE($override_language = null)
30+
* @method string codeDisplayNSIS($override_language = null)
31+
*
32+
* @method string expanderDisplayExpander($override_language = null)
33+
* @method string expanderDisplayQuote($override_language = null)
34+
* @method string expanderDisplaySpoiler($override_language = null)
35+
* @method string expanderDisplayTrigger($override_language = null)
36+
*/
37+
abstract class LanguageAbstract implements LanguageInterface{
38+
use ClassLoaderTrait;
39+
40+
/**
41+
* It's magic.
42+
*
43+
* @param string $name
44+
* @param array $arguments
45+
*
46+
* @return mixed
47+
*/
48+
public function __call(string $name, array $arguments){
49+
return $this->string($name, ...$arguments);
50+
}
51+
52+
/**
53+
* Returns a language string for a given key and overrides the current language if desired.
54+
*
55+
* @param string $key
56+
* @param string $override_language (a LanguageInterface FQCN)
57+
*
58+
* @return mixed
59+
* @throws \chillerlan\bbcode\BBCodeException
60+
*/
61+
public function string(string $key, string $override_language = null){
62+
63+
if($override_language){
64+
return $this->__loadClass($override_language, LanguageInterface::class)->{$key}();
65+
}
66+
67+
return $this->{$key};
68+
}
69+
70+
}

src/Language/LanguageBase.php

Lines changed: 0 additions & 53 deletions
This file was deleted.

0 commit comments

Comments
 (0)