<?php /** * Created by PhpStorm. * User: Kévin * Date: 02/12/2015 * Time: 14:23 */ require_once 'vendor/autoload.php'; // enable/disable logs define('LOG_ACTIVE', false); use App\Orm\Orm, App\Entity\User, App\Orm\QueryManager; Orm::init('127.0.0.1', 'orm', 'root', ''); $user = new User(); for ($i = 1; $i < 11; $i++) { $user->setLogin('simple' . $i); $user->setEmail('simple' . $i . '@mail.fr'); $user->setPassword(sha1('simple' . $i)); $user->save(); } $q = new QueryManager(); // var_dump($q->select('user u')->join('LEFT JOIN test t ON t.user_id = u.id')->where('u.id = 3')->execute()); // select // join // where
define('LOG_ACTIVE', true); function do_tabs($tabs) { $ret = ""; for ($i = 0; $i < $tabs; $i++) { $ret .= "\t"; } return $ret; } $host = $argv[1]; $user = $argv[2]; $password = $argv[3]; $db = $argv[4]; $tableName = $argv[5]; $className = $argv[6]; Orm::init($host, $db, $user, $password); // Do some magic here $fields = Orm::getTableColumns($tableName); $tabs = 1; $code = "<?php\n\n"; $code .= "namespace App\\Entity;\n\n"; $code .= "use App\\Orm\\QueryManager;\n\n"; $code .= "class {$className} extends QueryManager\n{\n"; $code .= do_tabs($tabs) . "/** PROPERTIES */\n"; $code .= do_tabs($tabs) . 'private $tableName = "' . $tableName . '";' . "\n"; foreach ($fields as $field) { if (strtolower($field) == 'id') { continue; } $code .= do_tabs($tabs) . 'private $' . $field . ";\n"; }