Mercurial > packages > magicforger
diff src/Replacer.php @ 1:ca36acd2bef2
Have a base going, there is definitly a lot wrong with some of the files and the general structure but overall, it's a starting point
| author | luka |
|---|---|
| date | Sat, 24 Jun 2023 01:08:01 -0400 |
| parents | |
| children | cf9993c5c7df |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Replacer.php Sat Jun 24 01:08:01 2023 -0400 @@ -0,0 +1,92 @@ +<?php + +namespace Wizzard\MagicForger; + +use Illuminate\Support\Str; + +class Replacer { + + /** + * Cached replacements for re-use. + * + * @var array + */ + protected $replacement_cache = []; + + + /** + * Prefix and Suffix for controller. + * Usage is up to the user. + * + * @var string + */ + protected $controller_prefix = ""; + + + /** + * Prefix and Suffix for controller. + * Usage is up to the user. + * + * @var string + */ + protected $controller_suffix = "Controller"; + + + /** + * The lowest level to show log outputs. + * + * @var int + */ + private $log_level = 1; + + + public function __construct() { + /* parent::__construct(); */ + } + + /** + * Model names are generated in uppercase first Camel case + */ + public function model_name(string $name) : string { + return Str::singular(Str::studly($name)); + } + + /** + * Controller names are generated in uppercase first Camel case + * and wrapped in the prefix and suffix + */ + public function controller_name(string $name) : string { + return $this->controller_prefix . + $this->model_name($name) . + $this->controller_suffix; + } + + /** + * Breaks up a string and makes it human readable + * + * This function assumes that the inputted name is camel case + */ + public function human_readable(string $name) : string { + return Str::title(Str::replace('_', ' ', $name)); + } + + /** + * Breaks up a string and makes it human readable and lowecase + * + * This function assumes that the inputted name is camel case + */ + public function human_readable_lc(string $name) : string { + return Str::lower($this->human_readable($name)); + } + + /** + * Outputs a log for the replacements based on log level. + */ + public function log(string $str, int $log_level = 1) : void { + + if($this->log_level <= $log_level) { + print($str . "\n"); + } + + } +}
