Как я могу обработать форму отправки с использованием REAL OOP в PHP - PullRequest
1 голос
/ 16 марта 2010

Я привык к Java и создавал UML ... и мне было интересно, как PHP может быть ООП, объекты живут только до тех пор, пока вы не сделаете запрос ... затем они уничтожаются, поэтому, если я использую базу данных, бесполезно создавать класс и добавьте члены (переменные) в класс, они будут бесполезны. Я не могу передать основной системный объект с одной страницы на другую, или что-то подобное, так как можно сравнить PHP с jave? вы никогда не делаете ООП .. я имею в виду РЕАЛЬНЫЙ ООП .. не создающий классы, на самом деле ваш индекс будет процедурным файлом с некоторым экземпляром объекта, а затем? Как насчет того, если я создаю HTML-форму и хочу отправить данные? Мне нужно вызвать файл, который не является классом, это процедурный файл php, где я получаю поданные данные с помощью POST, из этого файла вы создадите экземпляр класса. и делать некоторую логику там ... но для меня это не чистый ООП .. может кто-нибудь указать мне правильный путь ООП, используя пример отправки формы?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 16 марта 2010

Вы работаете с ошибочным пониманием того, что объектно-ориентированное программирование по определению включает постоянную среду с объектами, которые существуют независимо от запросов страниц. Боюсь, что нет.

PHP делает «настоящее» объектно-ориентированное программирование. Но среда выполнения PHP похожа на выполнение программы CGI: при запросе страницы программа запускается и заканчивается, когда страница заканчивается. В рамках этой парадигмы объекты могут существовать только до тех пор, пока страница создает контент. Поэтому первое, что должна сделать страница, - это загрузить платформу для определения и создания экземпляров требуемых объектов, таких как обработчик базы данных и сопоставители объектов, которые должны загрузить и сохранить свои данные в цикле запроса страницы. Некоторые платформы также создают объекты с данными запроса страницы, к которым ваш код и объекты могут затем обращаться, иногда изнутри объектов.

Но PHP не предоставляет этого изначально, потому что он не применяет фреймворк. Это по своей природе процедурно, поэтому необходимо добавить каркас, чтобы определять и создавать нужные объекты, если вы не хотите работать таким образом.

Есть преимущество в том, чтобы действовать таким образом. Это означает, что код страницы должен касаться только одного запроса страницы. Почти все проблемы, связанные с совместным использованием данных и многопоточным выполнением, переносятся на такие вещи, которые могут незаметно с этим справиться, например, на базу данных и веб-сервер.

2 голосов
/ 16 марта 2010

Ознакомьтесь с любой из последних платформ PHP и как они обрабатывают формы. (как ZF или Yii). b.t.w «проблема», о которой вы также говорите, это архитектура клиент-сервер, а не минус PHP. Каждый запрос - это новый процесс с новым MAIN или новым классом со статической главной функцией, которые практически совпадают.

0 голосов
/ 16 марта 2010

", поэтому, если я использую базу данных, бесполезно создать класс и добавить членов (переменные) в классе, они будут бесполезный "

Звучит так, как будто вы хотите объектно-реляционный картограф . Есть несколько популярных для PHP, как обсуждалось в этом предыдущем вопросе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...