Что представляют из себя объекты в php? Пытаюсь сделать простой сайт с иcпользование паттерна ActiveRecord. В паттерне ActiveRecord и ORM мы создаем класс и свойства, которые соответствуют таблица, получается одна таблица - один класс. Плюс в каждом классе по 4 метода - insert, delete, edit, update. Когда мы достаем все записи из бд методом FETCH_CLASS мы ля каждой строки создаем объект нужного класса и добавляем этот объект в массив. Получается массив объектов. Не совсем понимаю что из себя представляют объекты в в этом массиве? Что-то вроде ассоциативного массива, где имена переменных в классе это ключи, а значения переменных, значения этих ключей? Отличаются от массивов тем, что к ним можно применить определенные методы? например update, найти объекте где id = 1 и присвоить переменным другие значения. в каком то примере видел, что при методе insert проверяют, есть ли объект, где id уже установлен или вроде того. Зачем id проверять, если в БД у id тип SERIAL и при добавлении новой записи он будет уникален, а в самом sql запросе мы не прописывает id? public function insert() { // Есть у объекта статьи ID? if ( !is_null( $this->id ) ) trigger_error ( "Article::insert(): Attempt to insert an Article object that already has its ID property set (to $this->id).", E_USER_ERROR ); // Вставляем статью $conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD ); $sql = "INSERT INTO articles ( publicationDate, title, summary, content ) VALUES ( FROM_UNIXTIME(:publicationDate), :title, :summary, :content )"; $st = $conn->prepare ( $sql ); $st->bindValue( ":publicationDate", $this->publicationDate, PDO::PARAM_INT ); $st->bindValue( ":title", $this->title, PDO::PARAM_STR ); $st->bindValue( ":summary", $this->summary, PDO::PARAM_STR ); $st->bindValue( ":content", $this->content, PDO::PARAM_STR ); $st->execute(); $this->id = $conn->lastInsertId(); $conn = null; echo ' news addes'; }P.S. есть ли хорошие материалы, примеры использования ActiveRecord и ORM ?
В PHP объекты представляют индивидуальные экземпляры классов, которые содержат свойства (переменные) и методы. Объекты в массиве, созданном при использовании паттерна ActiveRecord, будут представлять записи из базы данных, где каждый объект будет соответствовать одной строке из таблицы.
Объекты в PHP не являются ассоциативными массивами, хотя они могут иметь свойства (переменные), которые могут быть использованы как ключи в ассоциативном массиве. Основное отличие объектов от массивов заключается в том, что к объектам можно применять методы, определенные в классе, что добавляет функциональность и поведение к объектам.
Относительно проверки ID при методе insert, проверка может быть выполнена для обеспечения безопасности и целостности данных. Если ID уже установлен в объекте до вставки в базу данных, это может указывать на возможное нарушение целостности данных или ошибку в коде. Проверка позволяет предотвратить такие ситуации и обеспечить корректную работу при вставке новых записей.
Относительно материалов и примеров использования ActiveRecord и ORM в PHP, вы можете найти ряд хороших ресурсов и учебных материалов в интернете. Некоторые из них включают официальную документацию по библиотекам ActiveRecord и ORM, туториалы и курсы онлайн, блоги и форумы, где разработчики делятся своим опытом и лучшими практиками в использовании этих паттернов. Найдите материалы, которые соответствуют вашему уровню знаний и целям разработки.
В PHP объекты представляют индивидуальные экземпляры классов, которые содержат свойства (переменные) и методы. Объекты в массиве, созданном при использовании паттерна ActiveRecord, будут представлять записи из базы данных, где каждый объект будет соответствовать одной строке из таблицы.
Объекты в PHP не являются ассоциативными массивами, хотя они могут иметь свойства (переменные), которые могут быть использованы как ключи в ассоциативном массиве. Основное отличие объектов от массивов заключается в том, что к объектам можно применять методы, определенные в классе, что добавляет функциональность и поведение к объектам.
Относительно проверки ID при методе insert, проверка может быть выполнена для обеспечения безопасности и целостности данных. Если ID уже установлен в объекте до вставки в базу данных, это может указывать на возможное нарушение целостности данных или ошибку в коде. Проверка позволяет предотвратить такие ситуации и обеспечить корректную работу при вставке новых записей.
Относительно материалов и примеров использования ActiveRecord и ORM в PHP, вы можете найти ряд хороших ресурсов и учебных материалов в интернете. Некоторые из них включают официальную документацию по библиотекам ActiveRecord и ORM, туториалы и курсы онлайн, блоги и форумы, где разработчики делятся своим опытом и лучшими практиками в использовании этих паттернов. Найдите материалы, которые соответствуют вашему уровню знаний и целям разработки.