Articles of Объект

Объекты PDO в классах

Я ищу некоторые отзывы о следующем: В настоящее время у меня есть два класса, которые используются в моем приложении PHP. Класс подключения к базе данных, который в настоящее время использует MySQL (но переключается на PDO ). Другой класс (с несколькими функциями), который требует функциональности базы данных. Я ищу лучший способ его разработки, я читал о […]

PHP Не разрешать объекту создавать экземпляр более одного раза

У меня есть абстрактный класс, который унаследован рядом других классов. Я хотел бы иметь его так, чтобы вместо повторного создания экземпляра (__construct ()) одного и того же класса каждый раз, чтобы он только инициализировался один раз и использовал свойства ранее унаследованных классов. Я использую это в моей конструкции: function __construct() { self::$_instance =& $this; if […]

Доступ к константам класса из экземпляра, хранящегося в другом классе

У меня есть определенный класс, который имеет несколько констант, определенных через `const FIRST = 'something'; Я создал экземпляр класса как $class = new MyClass() то у меня есть другой класс, который принимает экземпляр MyClass как один из его конструкторов и сохраняет его как $this->model = $myClassInstance; Это прекрасно работает. Но мне интересно, как я могу […]

PHP, массив массивов и массив объектов

Я в процессе создания структуры данных PHP, основанной на некоторых данных, которые я получаю откуда-то. Если бы я кодировал эту информацию в каком-то стандартном контейнере, например XML или JSON, я бы использовал эту структуру: [ {'name': 'Lupin', 'age': '13'}, {'name': 'Igor', 'age': '24'}, … ]; Однако я немного не уверен, что использовать в PHP (Array […]

PHP: DATETIME в массиве как объект. Как эхо

Надеюсь, что название не слишком загадочно. У меня есть массив с объектом DATETIME в нем, и я просто пытаюсь понять, как откликнуться на эту страницу. ["created"]=> object(DateTime)#3 (3) { ["date"]=> string(19) "2010-10-22 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/London" Кто-нибудь может мне помочь? дата (), но получите: Warning: date() expects parameter 2 to be long, object […]

использование глобальной переменной DB внутри классов в PHP

Как использовать глобальную переменную DB внутри класса? Допустим, у меня это в моем config.php $dbh = new PDO("mysql:host=localhost;dbname=mydb", "root", ""); и я хочу использовать этот класс $ dbh внутри класса следующим образом (MyClass.php) class MyClass { public function DoSomething($plogin_id) { $sql = "SELECT * FROM mytable WHERE login_id = :login_id"; $stmt = $dbh->prepare($sql); //line 14 […]

В PHP, как я могу добавить элемент объекта в массив?

Я использую PHP. У меня есть массив объектов, и я хотел бы добавить объект в конец. $myArray[] = null; //adds an element $myArray[count($myArray) – 1]->name = "my name"; //modifies the element I just added Вышеупомянутое функционально, но есть ли более чистый и более читаемый способ написать это? Может быть, одна строка?

Как преобразовать объект в массив без префикса имени класса в PHP?

Как преобразовать объект в массив без префикса имени класса в PHP? class Teste{ private $a; private $b; function __construct($a, $b) { $this->a = $a; $this->b = $b; } } var_dump((array)(new Teste('foo','bar'))); Результат: array ' Teste a' => string 'foo' (length=3) ' Teste b' => string 'bar' (length=3) Ожидаемое: array ( a => 'foo' b => […]

Должен ли я использовать ассоциативный массив или объект?

Как мы все знаем, json_decode дает вам возможность возвращать ассоциативный массив или объект. Есть много других ситуаций, когда у нас есть два варианта. Очевидно, что в некоторых случаях использование одного или другого более «целесообразно» на основе типа данных, с которыми вы имеете дело (группа данных, относящихся к одному элементу или списку элементов). Мне интересно, есть […]

PHP PDO Class Design

У меня есть следующий класс для моего класса доступа к базе данных PDO. Где лучшее место для $ conn = new db (); (в настоящее время в пределах Database.php)? Имея в виду структуру стиля MVC, Main.php является контроллером, а два других – это модели. Благодарю. database.php class db { private $conn; public function __construct() { […]