diff --git a/docs.md b/docs.md
index 2d6f00f..9e35b37 100644
--- a/docs.md
+++ b/docs.md
@@ -34,8 +34,8 @@
### Class: Rudra\Annotation\ParamsExtractor
| Visibility | Function |
|:-----------|:---------|
-| public | `getParams(array $exploded, string $assignment): array`
--------------------------------------------------------------\|
Parses an array of parameter strings into an associative array
--------------------------------------------------------------\|
Преобразует массив строк с параметрами в ассоциативный массив
--------------------------------------------------------------\|
------------------------------------------------------------------------------------\|
`from: "param1, param2 = 'param2', param3={param1;param2:'param2'}"`
`to: ["param1", "param2" => "param2", "param3" => ["param1", "param2" => "param2"]]`
------------------------------------------------------------------------------------\| |
-| private | `handleData(string $data, array $exploded): ?array`
--------------------------------------------\|
Parses data into `key => value` pairs
--------------------------------------------\|
Преобразует данные в пары `ключ => значение`
--------------------------------------------\|
⚠️ IMPORTANT / ВАЖНО:
--------------------------------------------\|
Values inside arrays (curly braces) must not
contain the array assignment mark (`:`)
--------------------------------------------\|
Значения внутри массивов (фигурные скобки)
не должны содержать знак присваивания (`:`)
--------------------------------------------\| |
+| public | `getParams(array $exploded, string $assignment): array`
--------------------------------------------------------------
Parses an array of parameter strings into an associative array
--------------------------------------------------------------
Преобразует массив строк с параметрами в ассоциативный массив
--------------------------------------------------------------
------------------------------------------------------------------------------------
`from: "param1, param2 = 'param2', param3={param1;param2:'param2'}"`
`to: ["param1", "param2" => "param2", "param3" => ["param1", "param2" => "param2"]]`
------------------------------------------------------------------------------------ |
+| private | `handleData(string $data, array $exploded): ?array`
--------------------------------------------
Parses data into `key => value` pairs
--------------------------------------------
Преобразует данные в пары `ключ => значение`
--------------------------------------------
⚠️ IMPORTANT / ВАЖНО:
--------------------------------------------
Values inside arrays (curly braces) must not
contain the array assignment mark (`:`)
--------------------------------------------
Значения внутри массивов (фигурные скобки)
не должны содержать знак присваивания (`:`)
-------------------------------------------- |
---
diff --git a/src/Annotation.php b/src/Annotation.php
index 48c9718..4bc1b74 100755
--- a/src/Annotation.php
+++ b/src/Annotation.php
@@ -16,30 +16,30 @@
class Annotation implements AnnotationInterface
{
/**
- * ----------------------|
+ * ----------------------
* Parameter separator
- * ----------------------|
+ * ----------------------
* Разделитель параметров
- * ----------------------|
+ * ----------------------
*
- * --------------------------------------------------------|
+ * --------------------------------------------------------
* in the line ',', example: key='param', key2='param2'
* in the array ';', example: {key:'param'; key2:'param2'}
- * --------------------------------------------------------|
+ * --------------------------------------------------------
*/
public const array DELIMITER = ["string" => ',', "array" => ';'];
/**
- * -----------------|
+ * -----------------
* Assignment mark
- * -----------------|
+ * -----------------
* Знак присваивания
- * -----------------|
+ * -----------------
*
- * ----------------------------------------|
+ * ----------------------------------------
* in the line '=', example: key='param'
* in the array ':', example: {key:'param'}
- * ----------------------------------------|
+ * ----------------------------------------
*/
public const array ASSIGNMENT = ["string" => '=', "array" => ':'];
@@ -113,20 +113,20 @@ private function parseAnnotations(string $docBlock): array
$annotations = [];
/**
- * --------------------------------------------------------------------------------------|
+ * --------------------------------------------------------------------------------------
* $matches[0][0] - @Annotation(param1, param2='param2', param3={param1;param2:'param2'})
* $matches[1][0] - Annotation
* $matches[2][0] - param1, param2 = 'param2', param3={param1;param2:'param2'}
- * --------------------------------------------------------------------------------------|
+ * --------------------------------------------------------------------------------------
*/
if (preg_match_all("/@([A-Za-z_-]+)\((.*)?\)/", $docBlock, $matches)) {
$count = count($matches[0]);
$extractor = new ParamsExtractor();
/**
- * ----------------------------------------------------------------------------------------------------------------------|
+ * ----------------------------------------------------------------------------------------------------------------------
* $annotations = ["Annotation" => [[0 => "param1", "param2" => "param2", "param3" => ["param1", "param2" => "param2"]]]]
- * ----------------------------------------------------------------------------------------------------------------------|
+ * ----------------------------------------------------------------------------------------------------------------------
*/
for ($i = 0; $i < $count; $i++) {
$annotations[$matches[1][$i]][] = $extractor->getParams(
diff --git a/src/ParamsExtractor.php b/src/ParamsExtractor.php
index 88590d6..bdeb4fd 100755
--- a/src/ParamsExtractor.php
+++ b/src/ParamsExtractor.php
@@ -14,16 +14,16 @@
class ParamsExtractor
{
/**
- * --------------------------------------------------------------|
+ * --------------------------------------------------------------
* Parses an array of parameter strings into an associative array
- * --------------------------------------------------------------|
+ * --------------------------------------------------------------
* Преобразует массив строк с параметрами в ассоциативный массив
- * --------------------------------------------------------------|
+ * --------------------------------------------------------------
*
- * ------------------------------------------------------------------------------------|
+ * ------------------------------------------------------------------------------------
* `from: "param1, param2 = 'param2', param3={param1;param2:'param2'}"`
* `to: ["param1", "param2" => "param2", "param3" => ["param1", "param2" => "param2"]]`
- * ------------------------------------------------------------------------------------|
+ * ------------------------------------------------------------------------------------
*
* @param array $exploded
* @param string $assignment
@@ -45,20 +45,20 @@ public function getParams(array $exploded, string $assignment): array
}
/**
- * --------------------------------------------|
+ * --------------------------------------------
* Parses data into `key => value` pairs
- * --------------------------------------------|
+ * --------------------------------------------
* Преобразует данные в пары `ключ => значение`
- * --------------------------------------------|
+ * --------------------------------------------
*
* ⚠️ IMPORTANT / ВАЖНО:
- * --------------------------------------------|
+ * --------------------------------------------
* Values inside arrays (curly braces) must not
* contain the array assignment mark (`:`)
- * --------------------------------------------|
+ * --------------------------------------------
* Значения внутри массивов (фигурные скобки)
* не должны содержать знак присваивания (`:`)
- * --------------------------------------------|
+ * --------------------------------------------
*
* @param string $data
* @param array $exploded
@@ -68,11 +68,11 @@ public function getParams(array $exploded, string $assignment): array
private function handleData(string $data, array $exploded): ?array
{
/**
- * --------------------------------------------------------------|
+ * --------------------------------------------------------------
* If in data an array of type param3={param1;param2:'param2'}
- * --------------------------------------------------------------|
+ * --------------------------------------------------------------
* Если в данных есть массив типа param3={param1;param2:'param2'}
- * --------------------------------------------------------------|
+ * --------------------------------------------------------------
*/
if (preg_match("/=\s*{/", $data) && preg_match("/{(.*)}/", $exploded[1], $matches)) {
return [
@@ -84,15 +84,15 @@ private function handleData(string $data, array $exploded): ?array
}
/**
- * ---------------------------------------|
+ * ---------------------------------------
* Remove quotation marks around parameter
- * ---------------------------------------|
+ * ---------------------------------------
* Удаляет кавычки вокруг параметра
- * ---------------------------------------|
+ * ---------------------------------------
*
- * ----------------------|
+ * ----------------------
* matches[1] = 'param2';
- * ----------------------|
+ * ----------------------
*/
if (preg_match("/'(.*)'/", $exploded[1], $matches)) {
return [trim($exploded[0]) => $matches[1]];