<?php
$Clients = Array
(
'Client' => Array
(
'ClientDetails' => Array
(
'clientName' => '',
'clientContact' =>'',
'clientContactEmail' => 'client1@example.com',
'clientTelephone' => '',
),
'properties' => Array
(
'Property' => Array
(
0 => Array
(
'propertyid' => '',
'lastUpdateDate' => '',
'category' => '',
'Address' =>'',
)
)
),
),
'Client2' => Array
(
'ClientDetails' => Array
(
'clientName' => '',
'clientContact' =>'',
'clientContactEmail' => 'client2@example.com',
'clientTelephone' => '',
),
'properties' => Array
(
'Property' => Array
(
0 => Array
(
'propertyid' => '',
'lastUpdateDate' => '',
'category' => '',
'Address' =>'',
)
)
),
)
);
function mySearch($search, $data, $parents = array())
{
$return = [];
if(is_array($data))
{
foreach($data as $key => $value)
{
if($key === $search)
{
$return[] = array (
'key' => array_merge($parents, array($key)),
'value' => $value,
);
}
else if(is_array($value))
{
$return = array_merge($return, mySearch($search, $value, array_merge($parents, array($key))));
}
}
}
return $return;
}
header('content-type: text/html; charset=utf-8;');
echo '<pre>';
@print_r(mySearch('clientContactEmail' , $Clients));
echo '</pre>';
exit(__FILE__ .': '. __LINE__);
server {
listen 80;
server_name www.site.com;
return 301 http://site.com$request_uri;
}
server {
listen 80 default_server;
server_name site.com *.site.com;
root /var/www;
index index.php index.html index.htm;
...
}
$data = $this->model->get_names($q);
/* SELECT id,name,adress FROM table WHERE name LIKE %$q% or adress LIKE %$q%*/
foreach ($data as $value) {
$response[] = array('label' => $value['name']." - ".$value['adress'], 'value' => $value['id']);
}
echo json_encode($response);
<?php
class fruit {
public $name;
public $colour;
}
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($result);
?>
Вот в этом то и проблема. Я пытаюсь скрыть внутри класса всё взаимодействие с БД. А у вашем варианте это не так.
abstract class modelDB
{
public static function find()
{
$sth = $dbh->prepare("SELECT * FROM `". get_called_class() ."`");
$sth->execute();
return $sth->fetchAll(PDO::FETCH_CLASS, get_called_class());
}
}
class fruit extends modelDB {
public $name;
public $colour;
}
$result = fruit::find();
$person = new Person();
$person->address->a = 1;
$personClone = clone $person;
$person->address->a = 2; // обновляем через первый объект person
echo $personClone->address->a; // 2 - клон тоже обновил, так как они ссылают на один объект