43 lines
1.9 KiB
PHP
Executable File
43 lines
1.9 KiB
PHP
Executable File
<?php
|
|
|
|
namespace WMarkDown\Abstracts;
|
|
|
|
abstract class ScriptsAnalyzer implements \WMarkDown\Interfaces\ScriptsAnalyzer{
|
|
|
|
protected $wmarkdown = null;
|
|
protected $parent = null;
|
|
protected $common = null;
|
|
protected $original_wmd = null;
|
|
protected $root = null;
|
|
protected $root_l = null;
|
|
protected $class = null;
|
|
protected $object = null;
|
|
|
|
public function __construct($wmarkdown, $parent, $input = null){
|
|
|
|
$this->wmarkdown = $wmarkdown;
|
|
$this->parent = $parent;
|
|
$this->common = $input["common"];
|
|
$this->original_wmd = $input["original_wmd"];
|
|
$this->root = $input["root"];
|
|
$this->root_l = $input["root_l"];
|
|
$this->class = $input["class"];
|
|
$this->object = $input["object"];
|
|
|
|
}
|
|
|
|
protected function get_data($extension, $wmd_path){
|
|
return \WMarkDown::string_variables(file_exists($wmd_path) ? file_get_contents($wmd_path) : $this->original_wmd, array_merge([
|
|
"subkey_words" => preg_match('/^.+' . $this->common["project"] . '\.([^\/]+)\.' . $extension . '\.w\.md$/', $wmd_path) ? preg_replace_callback('/^.+' . $this->common["project"] . '\.([^\/]+)\.php\.w\.md$/', function($values){
|
|
return substr(preg_replace('/[,\.]+/', ",", preg_replace_callback('/([A-Z]+)?([A-Z][a-z0-9]+)/', function($subvalues){
|
|
return ($subvalues[1] ? "," . $subvalues[1] : "") . "," . strtolower($subvalues[2]);
|
|
}, $values[1])), 1);
|
|
}, $wmd_path) : "main",
|
|
"path" => substr($wmd_path, $this->root_l + 8),
|
|
"subpath" => substr($wmd_path, $this->root_l + 8, -5),
|
|
"file" => preg_replace('/^.+\/([^\/]+)\.w\.md$/', "$1", $wmd_path)
|
|
], $this->common));
|
|
}
|
|
|
|
};
|