diff --git a/doc.html b/doc.html new file mode 100644 index 0000000..03cfe30 Binary files /dev/null and b/doc.html differ diff --git a/manual/includes/_upload-file.md b/manual/includes/_upload-file.md index ed2b570..23c376b 100644 --- a/manual/includes/_upload-file.md +++ b/manual/includes/_upload-file.md @@ -54,6 +54,8 @@ $files = new PicoUploadFile(); $file1 = $files->get('myupload'); // or alternatively // $file1 = $files->myupload; +// or +// $file1 = $files->getMyupload(); $targetDir = __DIR__; diff --git a/manual/index.html b/manual/index.html index 64bc5ba..3c4f071 100644 --- a/manual/index.html +++ b/manual/index.html @@ -10850,6 +10850,8 @@

PHP Backend Handling

$file1 = $files->get('myupload'); // or alternatively // $file1 = $files->myupload; +// or +// $file1 = $files->getMyupload(); $targetDir = __DIR__; diff --git a/src/Database/PicoDatabasePersistence.php b/src/Database/PicoDatabasePersistence.php index 929be1d..e695ed8 100644 --- a/src/Database/PicoDatabasePersistence.php +++ b/src/Database/PicoDatabasePersistence.php @@ -4,9 +4,6 @@ use DateTime; use Exception; use MagicObject\Exceptions\ClassNotFoundException; -use PDO; -use PDOException; -use PDOStatement; use MagicObject\Exceptions\EmptyResultException; use MagicObject\Exceptions\EntityException; use MagicObject\Exceptions\InvalidAnnotationException; @@ -22,6 +19,9 @@ use MagicObject\Util\ClassUtil\PicoAnnotationParser; use MagicObject\Util\ClassUtil\PicoEmptyParameter; use MagicObject\Util\Database\PicoDatabaseUtil; +use PDO; +use PDOException; +use PDOStatement; use ReflectionProperty; /** @@ -78,6 +78,8 @@ class PicoDatabasePersistence // NOSONAR const COMMA = ", "; const COMMA_RETURN = ", \r\n"; + const INLINE_TRIM = " \r\n\t "; + const ALWAYS_TRUE = "(1=1)"; /** * Database connection @@ -355,7 +357,7 @@ private function addColumnType($columns, $reflexProp, $prop, $parameters) { if(strcasecmp($param, self::ANNOTATION_VAR) == 0 && isset($columns[$prop->name])) { - $type = explode(' ', trim($val, " \r\n\t "))[0]; + $type = explode(' ', trim($val, self::INLINE_TRIM))[0]; $columns[$prop->name][self::KEY_PROPERTY_TYPE] = $type; } if(strcasecmp($param, self::SQL_DATE_TIME_FORMAT) == 0) @@ -409,7 +411,7 @@ private function addJoinColumnType($joinColumns, $prop, $parameters) { if(strcasecmp($param, self::ANNOTATION_VAR) == 0 && isset($joinColumns[$prop->name])) { - $type = explode(' ', trim($val, " \r\n\t "))[0]; + $type = explode(' ', trim($val, self::INLINE_TRIM))[0]; $joinColumns[$prop->name][self::KEY_PROPERTY_TYPE] = $type; $joinColumns[$prop->name][self::KEY_ENTITY_OBJECT] = true; } @@ -563,36 +565,28 @@ public function getTableInfo() $parameters = $reflexProp->getParameters(); // get column name of each parameters - $columns = $this->addColumnName($columns, $reflexProp, $prop, $parameters); - + $columns = $this->addColumnName($columns, $reflexProp, $prop, $parameters); // set column type - $columns = $this->addColumnType($columns, $reflexProp, $prop, $parameters); - + $columns = $this->addColumnType($columns, $reflexProp, $prop, $parameters); // get join column name of each parameters - $joinColumns = $this->addJoinColumnName($joinColumns, $reflexProp, $prop, $parameters); - + $joinColumns = $this->addJoinColumnName($joinColumns, $reflexProp, $prop, $parameters); // set join column type - $joinColumns = $this->addJoinColumnType($joinColumns, $prop, $parameters); - + $joinColumns = $this->addJoinColumnType($joinColumns, $prop, $parameters); // list primary key - $primaryKeys = $this->addPrimaryKey($primaryKeys, $columns, $prop, $parameters); - + $primaryKeys = $this->addPrimaryKey($primaryKeys, $columns, $prop, $parameters); // list autogenerated column - $autoIncrementKeys = $this->addAutogenerated($autoIncrementKeys, $columns, $reflexClass, $prop, $parameters); - + $autoIncrementKeys = $this->addAutogenerated($autoIncrementKeys, $columns, $reflexClass, $prop, $parameters); // define default column value - $defaultValue = $this->addDefaultValue($defaultValue, $columns, $reflexClass, $prop, $parameters); - + $defaultValue = $this->addDefaultValue($defaultValue, $columns, $reflexClass, $prop, $parameters); // list not null column - $notNullColumns = $this->addNotNull($notNullColumns, $columns, $prop, $parameters); - + $notNullColumns = $this->addNotNull($notNullColumns, $columns, $prop, $parameters); } // bring it together $this->tableInfoProp = new PicoTableInfo($picoTableName, $columns, $joinColumns, $primaryKeys, $autoIncrementKeys, $defaultValue, $notNullColumns, $noCache, $package); @@ -1501,7 +1495,7 @@ protected function createWhereFromSpecification($sqlQuery, $specification, $info { $masterColumnMaps = $this->getColumnMap($info); $arr = array(); - $arr[] = "(1=1)"; + $arr[] = self::ALWAYS_TRUE; if($specification != null && !$specification->isEmpty()) { $specifications = $specification->getSpecifications(); @@ -1511,7 +1505,7 @@ protected function createWhereFromSpecification($sqlQuery, $specification, $info } } $ret = $this->joinStringArray($arr, self::MAX_LINE_LENGTH); - return $this->trimWhere($ret); + return PicoDatabaseUtil::trimWhere($ret); } /** @@ -1688,17 +1682,6 @@ private function formatColumn($column, $format) } return sprintf($format, $column); } - - /** - * Trim unnecessary parts from WHERE clause - * - * @param string $where WHERE clause string - * @return string Trimmed WHERE clause - */ - private function trimWhere($where) - { - return PicoDatabaseUtil::trimWhere($where); - } /** * Create ORDER BY clause diff --git a/src/Util/Database/PicoDatabaseUtil.php b/src/Util/Database/PicoDatabaseUtil.php index 6fc92df..b8a8209 100644 --- a/src/Util/Database/PicoDatabaseUtil.php +++ b/src/Util/Database/PicoDatabaseUtil.php @@ -297,7 +297,7 @@ public static function escapeSQL($value) return addslashes($value); } - /** + /** * Trim a WHERE clause by removing unnecessary characters. * * This method cleans up a raw WHERE clause by trimming whitespace diff --git a/tutorial.md b/tutorial.md index ae12ad7..0a75b0e 100644 --- a/tutorial.md +++ b/tutorial.md @@ -12305,6 +12305,8 @@ $files = new PicoUploadFile(); $file1 = $files->get('myupload'); // or alternatively // $file1 = $files->myupload; +// or +// $file1 = $files->getMyupload(); $targetDir = __DIR__;