sofiafahle /
anax-mvc-content2
This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | namespace Anax\Database; |
||
| 4 | |||
| 5 | /** |
||
| 6 | * Base class for database models |
||
| 7 | * |
||
| 8 | * @property $db Database connection. |
||
| 9 | */ |
||
| 10 | class CDatabaseModel implements \Anax\DI\IInjectionAware |
||
| 11 | {
|
||
| 12 | use \Anax\DI\TInjectable; |
||
| 13 | |||
| 14 | public $id; |
||
| 15 | |||
| 16 | |||
| 17 | /** |
||
| 18 | * Get the table name. |
||
| 19 | * |
||
| 20 | * @return string with the table name. |
||
| 21 | */ |
||
| 22 | 12 | public function getSource() |
|
| 23 | {
|
||
| 24 | 12 | return strtolower(implode('', array_slice(explode('\\', get_class($this)), -1)));
|
|
| 25 | } |
||
| 26 | |||
| 27 | /** |
||
| 28 | * Find and return specific. |
||
| 29 | * |
||
| 30 | * @return this |
||
| 31 | */ |
||
| 32 | 3 | public function find($id) |
|
| 33 | {
|
||
| 34 | 3 | $this->db->select() |
|
|
0 ignored issues
–
show
|
|||
| 35 | 3 | ->from($this->getSource()) |
|
| 36 | 3 | ->where("id = ?");
|
|
| 37 | |||
| 38 | 3 | $this->db->execute([$id]); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 39 | 3 | return $this->db->fetchInto($this); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 40 | } |
||
| 41 | |||
| 42 | |||
| 43 | /** |
||
| 44 | * Find and return all. |
||
| 45 | * |
||
| 46 | * @return array |
||
| 47 | */ |
||
| 48 | 1 | public function findAll() |
|
| 49 | {
|
||
| 50 | 1 | $this->db->select() |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 51 | 1 | ->from($this->getSource()); |
|
| 52 | |||
| 53 | 1 | $this->db->execute(); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 54 | 1 | $this->db->setFetchModeClass(__CLASS__); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 55 | 1 | return $this->db->fetchAll(); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 56 | } |
||
| 57 | |||
| 58 | /** |
||
| 59 | * Find and return rows based on condition. |
||
| 60 | * |
||
| 61 | * @param string $column as key for condition |
||
| 62 | * @param string $value as value for condition. |
||
| 63 | * |
||
| 64 | * @return array |
||
| 65 | */ |
||
| 66 | 1 | public function findWhere($column, $value) {
|
|
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. Loading history...
|
|||
| 67 | 1 | $this->db->select() |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 68 | 1 | ->from($this->getSource()) |
|
| 69 | 1 | ->where($column . ' = ?'); |
|
| 70 | |||
| 71 | 1 | $this->db->execute([$value]); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 72 | 1 | $this->db->setFetchModeClass(__CLASS__); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 73 | 1 | return $this->db->fetchAll(); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 74 | } |
||
| 75 | |||
| 76 | /** |
||
| 77 | * Find and return rows in specific order. |
||
| 78 | * |
||
| 79 | * @param string $column as key for condition |
||
| 80 | * @param string $order as order to sort in, ASC or DESC. |
||
| 81 | * |
||
| 82 | * @return array |
||
| 83 | */ |
||
| 84 | 1 | public function findAllOrder($column, $order) {
|
|
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. Loading history...
|
|||
| 85 | 1 | $this->db->select() |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 86 | 1 | ->from($this->getSource()) |
|
| 87 | 1 | ->orderBy($column . ' ' . $order); |
|
| 88 | |||
| 89 | 1 | $this->db->execute(); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 90 | 1 | $this->db->setFetchModeClass(__CLASS__); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 91 | 1 | return $this->db->fetchAll(); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 92 | } |
||
| 93 | |||
| 94 | /** |
||
| 95 | * Get object properties. |
||
| 96 | * |
||
| 97 | * @return array with object properties. |
||
| 98 | */ |
||
| 99 | 2 | public function getProperties() |
|
| 100 | {
|
||
| 101 | 2 | $properties = get_object_vars($this); |
|
| 102 | 2 | unset($properties['di']); |
|
| 103 | 2 | unset($properties['db']); |
|
| 104 | |||
| 105 | 2 | return $properties; |
|
| 106 | } |
||
| 107 | |||
| 108 | /** |
||
| 109 | * Set object properties. |
||
| 110 | * |
||
| 111 | * @param array $properties with properties to set. |
||
| 112 | * |
||
| 113 | * @return void |
||
| 114 | */ |
||
| 115 | 3 | public function setProperties($properties) |
|
| 116 | {
|
||
| 117 | // Update object with incoming values, if any |
||
| 118 | 3 | if (!empty($properties)) {
|
|
| 119 | 3 | foreach ($properties as $key => $val) {
|
|
| 120 | 3 | $this->$key = $val; |
|
| 121 | 3 | } |
|
| 122 | 3 | } |
|
| 123 | 3 | } |
|
| 124 | |||
| 125 | /** |
||
| 126 | * Save current object/row. |
||
| 127 | * |
||
| 128 | * @param array $values key/values to save or empty to use object properties. |
||
| 129 | * |
||
| 130 | * @return boolean true or false if saving went okey. |
||
| 131 | */ |
||
| 132 | 1 | public function save($values = []) |
|
| 133 | {
|
||
| 134 | 1 | $this->setProperties($values); |
|
| 135 | 1 | $values = $this->getProperties(); |
|
| 136 | |||
| 137 | 1 | if (isset($values['id'])) {
|
|
| 138 | 1 | return $this->update($values); |
|
| 139 | } else {
|
||
| 140 | return $this->create($values); |
||
| 141 | } |
||
| 142 | } |
||
| 143 | |||
| 144 | |||
| 145 | /** |
||
| 146 | * Create new row. |
||
| 147 | * |
||
| 148 | * @param array $values key/values to save. |
||
| 149 | * |
||
| 150 | * @return boolean true or false if saving went okey. |
||
| 151 | */ |
||
| 152 | 1 | public function create($values) |
|
| 153 | {
|
||
| 154 | 1 | $keys = array_keys($values); |
|
| 155 | 1 | $values = array_values($values); |
|
| 156 | |||
| 157 | 1 | $this->db->insert( |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 158 | 1 | $this->getSource(), |
|
| 159 | $keys |
||
| 160 | 1 | ); |
|
| 161 | |||
| 162 | 1 | $res = $this->db->execute($values); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 163 | |||
| 164 | 1 | $this->id = $this->db->lastInsertId(); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 165 | |||
| 166 | 1 | return $res; |
|
| 167 | } |
||
| 168 | |||
| 169 | /** |
||
| 170 | * Update row. |
||
| 171 | * |
||
| 172 | * @param array $values key/values to save. |
||
| 173 | * |
||
| 174 | * @return boolean true or false if saving went okey. |
||
| 175 | */ |
||
| 176 | 2 | public function update($values) |
|
| 177 | {
|
||
| 178 | // Its update, remove id |
||
| 179 | 2 | unset($values['id']); |
|
| 180 | |||
| 181 | 2 | $keys = array_keys($values); |
|
| 182 | 2 | $values = array_values($values); |
|
| 183 | |||
| 184 | // Use id as where-clause |
||
| 185 | 2 | $values[] = $this->id; |
|
| 186 | |||
| 187 | 2 | $this->db->update( |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 188 | 2 | $this->getSource(), |
|
| 189 | 2 | $keys, |
|
| 190 | "id = ?" |
||
| 191 | 2 | ); |
|
| 192 | |||
| 193 | 2 | return $this->db->execute($values); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 194 | } |
||
| 195 | |||
| 196 | /** |
||
| 197 | * Delete row by id. |
||
| 198 | * |
||
| 199 | * @param integer $id to delete. |
||
| 200 | * |
||
| 201 | * @return boolean true or false if deleting went okey. |
||
| 202 | */ |
||
| 203 | 1 | public function delete($id) |
|
| 204 | {
|
||
| 205 | 1 | $this->db->delete( |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 206 | 1 | $this->getSource(), |
|
| 207 | 'id = ?' |
||
| 208 | 1 | ); |
|
| 209 | |||
| 210 | 1 | return $this->db->execute([$id]); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 211 | } |
||
| 212 | |||
| 213 | /** |
||
| 214 | * Delete all rows with where condition. |
||
| 215 | * |
||
| 216 | * @param string $column as key for condition |
||
| 217 | * @param string $value as value for condition. |
||
| 218 | * |
||
| 219 | * @return boolean true or false if deleting went okey. |
||
| 220 | */ |
||
| 221 | 1 | public function deleteWhere($column, $value) |
|
| 222 | {
|
||
| 223 | 1 | $this->db->delete( |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 224 | 1 | $this->getSource(), |
|
| 225 | $column . ' = ?' |
||
| 226 | 1 | ); |
|
| 227 | |||
| 228 | 1 | return $this->db->execute([$value]); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 229 | } |
||
| 230 | |||
| 231 | /** |
||
| 232 | * Delete all rows. |
||
| 233 | * |
||
| 234 | * @return boolean true or false if deleting went okey. |
||
| 235 | */ |
||
| 236 | 1 | public function deleteAll() |
|
| 237 | {
|
||
| 238 | 1 | $this->db->delete( |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 239 | 1 | $this->getSource() |
|
| 240 | 1 | ); |
|
| 241 | |||
| 242 | 1 | return $this->db->execute(); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 243 | } |
||
| 244 | |||
| 245 | |||
| 246 | /** |
||
| 247 | * Build a select-query. |
||
| 248 | * |
||
| 249 | * @param string $columns which columns to select. |
||
| 250 | * |
||
| 251 | * @return $this |
||
| 252 | */ |
||
| 253 | 1 | public function query($columns = '*') |
|
| 254 | {
|
||
| 255 | 1 | $this->db->select($columns) |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 256 | 1 | ->from($this->getSource()); |
|
| 257 | |||
| 258 | 1 | return $this; |
|
| 259 | } |
||
| 260 | |||
| 261 | /** |
||
| 262 | * Build the where part. |
||
| 263 | * |
||
| 264 | * @param string $condition for building the where part of the query. |
||
| 265 | * |
||
| 266 | * @return $this |
||
| 267 | */ |
||
| 268 | 1 | public function where($condition) |
|
| 269 | {
|
||
| 270 | 1 | $this->db->where($condition); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 271 | |||
| 272 | 1 | return $this; |
|
| 273 | } |
||
| 274 | |||
| 275 | /** |
||
| 276 | * Build the where part. |
||
| 277 | * |
||
| 278 | * @param string $condition for building the where part of the query. |
||
| 279 | * |
||
| 280 | * @return $this |
||
| 281 | */ |
||
| 282 | 1 | public function andWhere($condition) |
|
| 283 | {
|
||
| 284 | 1 | $this->db->andWhere($condition); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 285 | |||
| 286 | 1 | return $this; |
|
| 287 | } |
||
| 288 | |||
| 289 | /** |
||
| 290 | * Execute the query built. |
||
| 291 | * |
||
| 292 | * @param array $params for custom query. |
||
| 293 | * |
||
| 294 | * @return $this |
||
| 295 | */ |
||
| 296 | 1 | public function execute($params = []) |
|
| 297 | {
|
||
| 298 | 1 | $this->db->execute($this->db->getSQL(), $params); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 299 | 1 | $this->db->setFetchModeClass(__CLASS__); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 300 | |||
| 301 | 1 | return $this->db->fetchAll(); |
|
|
0 ignored issues
–
show
The property
db does not exist on object<Anax\Database\CDatabaseModel>. Since you implemented __get, maybe consider adding a @property annotation.
Since your code implements the magic getter <?php
/**
* @property int $x
* @property int $y
* @property string $text
*/
class MyLabel
{
private $properties;
private $allowedProperties = array('x', 'y', 'text');
public function __get($name)
{
if (isset($properties[$name]) && in_array($name, $this->allowedProperties)) {
return $properties[$name];
} else {
return null;
}
}
public function __set($name, $value)
{
if (in_array($name, $this->allowedProperties)) {
$properties[$name] = $value;
} else {
throw new \LogicException("Property $name is not defined.");
}
}
}
If the property has read access only, you can use the @property-read annotation instead. Of course, you may also just have mistyped another name, in which case you should fix the error. See also the PhpDoc documentation for @property. Loading history...
|
|||
| 302 | } |
||
| 303 | |||
| 304 | /** |
||
| 305 | * Create a slug of a string, to be used as url. |
||
| 306 | * |
||
| 307 | * @param string $str the string to format as slug. |
||
| 308 | * @returns str the formatted slug. |
||
| 309 | */ |
||
| 310 | 1 | public function slugify($str) {
|
|
| 311 | 1 | $str = mb_strtolower(trim($str)); |
|
| 312 | 1 | $str = str_replace(array('å','ä','ö'), array('a','a','o'), $str);
|
|
| 313 | 1 | $str = preg_replace('/[^a-z0-9-]/', '-', $str);
|
|
| 314 | 1 | $str = trim(preg_replace('/-+/', '-', $str), '-');
|
|
| 315 | 1 | return $str; |
|
| 316 | } |
||
| 317 | |||
| 318 | } |
Since your code implements the magic getter
_get, this function will be called for any read access on an undefined variable. You can add the@propertyannotation to your class or interface to document the existence of this variable.If the property has read access only, you can use the @property-read annotation instead.
Of course, you may also just have mistyped another name, in which case you should fix the error.
See also the PhpDoc documentation for @property.