-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCodeGenerator.php
52 lines (49 loc) · 1.67 KB
/
CodeGenerator.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
/**
* Created by PhpStorm.
* User: Saeed_ElDah
* Date: 24/11/2015
* Time: 1:42 PM
*/
class CodeGenerator
{
public static function createClass($classPrefix = null, $className, $extendsFrom = null, $privateAttributes= array(), $publicAttributes = array()){
if(!is_null($classPrefix)){
$classTxt = $classPrefix." ";
}
$classTxt="class $className{ \n";
for($i=0; $i<count($privateAttributes); $i++)
{
$classTxt.="private $".$privateAttributes[$i]."; \n";
}
for($i=0; $i<count($publicAttributes); $i++)
{
$classTxt.="public $".$privateAttributes[$i]."; \n";
}
$classTxt.="public function __construct(";
// for($i=0; $i<count($privateAttributes); $i++)
// {
// $classTxt.="$".$privateAttributes[$i];
// if($i<count($privateAttributes)-1){
// $classTxt.=",";
// }
// }
$classTxt.="){\n";
for($i=0; $i<count($privateAttributes); $i++)
{
$classTxt.="$"."this->Set".$privateAttributes[$i]."($".$privateAttributes[$i].");\n";
}
$classTxt.="}\n";
for($i=0; $i<count($privateAttributes); $i++)
{
$classTxt.="public function Set".$privateAttributes[$i]."($".$privateAttributes[$i]."){ \n".
"$"."this->".$privateAttributes[$i]."=$".$privateAttributes[$i].";\n".
"}\n";
$classTxt.="public function Get".$privateAttributes[$i]."(){ \n".
"return $"."this->".$privateAttributes[$i].";\n".
"}\n";
}
$classTxt.="}\n";
return $classTxt;
}
}