Skip to content

Commit 699b4b5

Browse files
committed
add classAttributes in ClassCreator
1 parent 7b9c335 commit 699b4b5

10 files changed

Lines changed: 36 additions & 19 deletions

File tree

src/Ubiquity/scaffolding/creators/ClassCreator.php

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,46 @@
44
namespace Ubiquity\scaffolding\creators;
55

66

7+
use Ubiquity\creator\HasUsesTrait;
78
use Ubiquity\utils\base\UFileSystem;
89
use Ubiquity\utils\base\UString;
910

1011
class ClassCreator {
12+
use HasUsesTrait;
13+
1114
private string $template;
1215
private string $classname;
1316
private string $namespace;
14-
private string $uses;
1517
private string $extendsOrImplements;
1618
private string $classContent;
19+
private array $classAttributes;
1720

1821
private function getTemplateDir() {
1922
return \dirname(__DIR__) . "/templates/";
2023
}
2124

22-
public function __construct($classname,$uses,$namespace,$extendsOrImplements='',$classContent=''){
25+
public function __construct($classname, $namespace, $extendsOrImplements='', $classContent='') {
2326
$this->classname=$classname;
24-
$this->uses=$uses;
2527
$this->namespace=$namespace;
2628
$this->extendsOrImplements=$extendsOrImplements;
2729
$this->classContent=$classContent;
2830
$this->template='class.tpl';
31+
$this->classAttributes=[];
32+
$this->uses=[];
2933
}
3034

31-
public function generate():bool{
35+
public function generate(): bool {
3236
$namespaceVar = '';
3337
if (UString::isNotNull($this->namespace)) {
3438
$namespaceVar = "namespace {$this->namespace};";
3539
}
3640
$variables = [
3741
'%classname%' => $this->classname,
3842
'%namespace%' => $namespaceVar,
39-
'%uses%' => $this->uses,
43+
'%uses%' => $this->getUsesStr(),
4044
'%extendsOrImplements%' => $this->extendsOrImplements,
41-
'%classContent%' => $this->classContent
45+
'%classContent%' => $this->classContent,
46+
'%classAttributes%'=>\implode("\n", $this->classAttributes)
4247
];
4348
$templateDir = $this->getTemplateDir();
4449
$directory = UFileSystem::getDirFromNamespace($this->namespace);
@@ -64,4 +69,8 @@ public function getTemplate(): string {
6469
public function setTemplate(string $template): void {
6570
$this->template = $template;
6671
}
72+
73+
public function addClassAttribute($attribute) {
74+
$this->classAttributes[]=$attribute;
75+
}
6776
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
%route%
2-
public function %actionName%(%parameters%){
2+
public function %actionName%(%parameters%) {
33
%content%
44
}

src/Ubiquity/scaffolding/templates/authController.tpl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?php
22
%namespace%
3+
34
%uses%
45

56
%route%
6-
class %controllerName% extends %baseClass%{
7+
class %controllerName% extends %baseClass% {
78
89
protected function onConnect($connected) {
910
$urlParts=$this->getOriginalURL();

src/Ubiquity/scaffolding/templates/authController_.tpl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?php
22
%namespace%
3+
34
%uses%
45

56
%route%
6-
class %controllerName% extends %baseClass%{
7+
class %controllerName% extends %baseClass% {
78
89
public function _getBaseRoute(): string {
910
return '%routePath%';
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
<?php
22
%namespace%
3+
34
%uses%
4-
/**
5-
* Class %classname%
6-
*/
7-
class %classname% %extendsOrImplements%{
5+
6+
/**
7+
* Class %classname%
8+
*/
9+
%classAttributes%
10+
class %classname% %extendsOrImplements% {
811
%classContent%
912
}

src/Ubiquity/scaffolding/templates/controller.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Controller %controllerName%
66
*/
77

8-
class %controllerName% extends %baseClass%{
8+
class %controllerName% extends %baseClass% {
99
%initialize%
1010
public function index(){
1111
//TODO index action implementation

src/Ubiquity/scaffolding/templates/crudController.tpl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?php
22
%namespace%
3+
34
%uses%
45

56
%route%
6-
class %controllerName% extends %baseClass%{
7+
class %controllerName% extends %baseClass% {
78
89
public function __construct(){
910
parent::__construct();

src/Ubiquity/scaffolding/templates/indexCrudController.tpl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?php
22
%namespace%
3+
34
%uses%
45

56
%route%
6-
class %controllerName% extends %baseClass%{
7+
class %controllerName% extends %baseClass% {
78
89
%indexRoute%
910
public function index() {
@@ -12,7 +13,7 @@ class %controllerName% extends %baseClass%{
1213

1314

1415
%homeRoute%
15-
public function home(){
16+
public function home() {
1617
parent::home();
1718
}
1819

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
%comment% %access% function %name%(%parameters%)%return%{
1+
%comment% %access% function %name%(%parameters%)%return% {
22
%content%
33
}
44

src/Ubiquity/scaffolding/templates/oauthController.tpl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33

44
%uses%
55
use Hybridauth\Adapter\AdapterInterface;
6+
67
/**
78
* Controller %controllerName%
89
*/
9-
class %controllerName% extends %baseClass%{
10+
class %controllerName% extends %baseClass% {
1011
1112
public function index(){
1213
}

0 commit comments

Comments
 (0)