$columns = array_map(function ($c) { return $c['Field']; }, $pdo->query("SHOW COLUMNS FROM {$tableName}")->fetchAll(PDO::FETCH_ASSOC)); $repositoryNameSplitted = explode("_", $tableName); for ($i = 0; $i < count($repositoryNameSplitted); $i++) { $repositoryNameSplitted[$i] = ucfirst($repositoryNameSplitted[$i]); } $repositoryName = implode("", $repositoryNameSplitted); $model = $repositoryName[strlen($repositoryName) - 1] == 's' ? substr($repositoryName, 0, strlen($repositoryName) - 1) : $repositoryName; $repositoryName .= "Repository"; createRepositories($repositoryName, $model, $tableName, $columns); $output = ""; $output .= generateClassInfo($model); $output .= generateConstants($model, $tableName, $columns); $output .= generateFields($model, $tableName, $columns); $output .= generateConstructor($model, $tableName, $columns); $output .= generateGettersAndSetters($model, $tableName, $columns); $output .= "}"; $modelFile = fopen("Models/" . $model . '.php', 'w'); fwrite($modelFile, $output); $collectionsOutput = create_collection($model); $collectionFile = fopen('Collections/' . $model . 'Collection.php', 'w'); fwrite($collectionFile, $collectionsOutput); } function generateClassInfo($model) { $output = ""; $output = <<<KUF <?php namespace SoftUni\\Models;
foreach ($propertySets as $propertyName => $propertyType) { ?> private final <?php echo $propertyType; ?> <?php echo $propertyName; ?> ; <?php } ?> <?php foreach ($constructors as $constructor) { echo generateConstructor($constructor, $propertySets, $name, $defaults); } ?> <?php foreach ($propertySets as $propertyName => $propertyType) { ?> public <?php echo $propertyType; ?> <?php echo $propertyName; ?> () { return this.<?php