Skip to content

Commit dab22fd

Browse files
committed
Implemented standalone classes() function to use for simple construction of the CSS classes list
1 parent 259a637 commit dab22fd

File tree

4 files changed

+30
-1
lines changed

4 files changed

+30
-1
lines changed

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ Classes list can be exported as a plain array using `toArray()` method. Also cla
6767

6868
It is also possible to check if given class is available in list by using `has(string $class)` method.
6969

70+
### Standalone `classes()` function
71+
72+
For simple cases when it is only need to create CSS classes list as a string from available data it is also possible to use `\Flying\Util\Css\classes()` function.
73+
74+
`classes()` function is available since v1.1.0
75+
7076
## Usage in Twig
7177

7278
Library includes `\Flying\Util\Css\Twig\ClassesExtension` Twig extension that exposes `classes` function that provides same functionality as a [main class](#standalone-usage).

composer.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@
1919
"autoload": {
2020
"psr-4": {
2121
"Flying\\Util\\Css\\": "src/"
22-
}
22+
},
23+
"files": [
24+
"src/functions.php"
25+
]
2326
},
2427
"autoload-dev": {
2528
"psr-4": {

src/functions.php

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Flying\Util\Css;
6+
7+
if (!\function_exists(classes::class)) {
8+
/**
9+
* Create string of CSS classes from provided classes information
10+
*
11+
* @param mixed ...$classes
12+
* @return string
13+
*/
14+
function classes(mixed ...$classes): string
15+
{
16+
return (string)Classes::from(...$classes);
17+
}
18+
}

tests/ClassesTest.php

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Flying\Util\Css\Classes;
88
use PHPUnit\Framework\TestCase;
9+
use function Flying\Util\Css\classes;
910

1011
class ClassesTest extends TestCase
1112
{
@@ -23,6 +24,7 @@ public function testPassingDifferentValues(array $args, string $expected): void
2324
$this->assertEquals($expected, new Classes(...$args));
2425
$this->assertEquals($expected, Classes::from(...$args));
2526
$this->assertEquals($expected, (new Classes())->with(...$args));
27+
$this->assertEquals($expected, classes(...$args));
2628
}
2729

2830
public function dpPassingDifferentValues(): array

0 commit comments

Comments
 (0)