Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中使用REAL OOP处理表单提交_Php_Oop_Model View Controller - Fatal编程技术网

如何在PHP中使用REAL OOP处理表单提交

如何在PHP中使用REAL OOP处理表单提交,php,oop,model-view-controller,Php,Oop,Model View Controller,我习惯于java和创建UML。。我想知道PHP怎么可能是面向对象的,对象只有在您发出请求之前才有效。。然后它们会破坏,因此如果im使用数据库创建类并将成员(变量)添加到类中是无用的,那么它们将是无用的。。我无法将主系统对象从一个页面传递到另一个页面,或者类似的页面,那么如何将PHP与jave进行比较呢?你永远不会做OOP。。我是说真的很糟糕。。不创建类,实际上您的索引将是一个带有某个对象实例的过程文件,然后呢?如果我制作了一个html表单,并且我想提交数据,怎么样。。我必须调用一个不是类的文件,

我习惯于java和创建UML。。我想知道PHP怎么可能是面向对象的,对象只有在您发出请求之前才有效。。然后它们会破坏,因此如果im使用数据库创建类并将成员(变量)添加到类中是无用的,那么它们将是无用的。。我无法将主系统对象从一个页面传递到另一个页面,或者类似的页面,那么如何将PHP与jave进行比较呢?你永远不会做OOP。。我是说真的很糟糕。。不创建类,实际上您的索引将是一个带有某个对象实例的过程文件,然后呢?如果我制作了一个html表单,并且我想提交数据,怎么样。。我必须调用一个不是类的文件,它是一个php过程文件,如果我用POST获取提交的数据,你将从该文件中引用一个类并在那里执行一些逻辑。。但对我来说,这不是纯粹的OOP。。有人能告诉我使用表单提交示例的OOP的正确方法吗


谢谢

查看任何最新的php框架以及它们如何处理表单。(如ZF或Yii)。 b、 t.w您提到的“问题”也是客户机-服务器体系结构,而不是PHP的缺点。

每个请求都是一个新的进程,具有一个新的MAIN或具有静态MAIN函数的新类,它们实际上是相同的。

查看任何最新的php框架以及它们如何处理表单。(如ZF或Yii)。 b、 t.w您提到的“问题”也是客户机-服务器体系结构,而不是PHP的缺点。
每个请求都是一个新的进程,具有一个新的MAIN或具有静态MAIN函数的新类,它们实际上是相同的

“因此,如果我使用数据库是无用的 创建类并添加成员的步骤 (变量)对于类,它们将 无用的”

听起来你想要一个新的。如本文所讨论的,PHP有几种流行的

“因此,如果我使用数据库是无用的 创建类并添加成员的步骤 (变量)对于类,它们将 无用的”


听起来你想要一个新的。正如本文所讨论的,PHP有几种流行的解决方案。

您误解了面向对象编程的定义包括一个持久化环境,其中的对象独立于页面请求而存在。恐怕不行

PHP确实做“真正的”面向对象编程。但是PHP的执行环境类似于执行CGI程序:在页面请求时,程序启动,页面完成时程序结束。在这种模式中,对象只能在页面生成内容时存在。因此,页面必须做的第一件事是加载框架以定义和实例化所需的对象,例如必须在页面请求周期内加载和保存其数据的数据库处理程序和对象映射器。一些框架还将创建带有页面请求数据的对象,您的代码和对象可以访问这些数据,有时可以从对象内部访问这些数据

但是PHP并没有以本机方式提供这一功能,因为它没有强制执行框架。它本质上是程序性的,因此必须添加一个框架,以便定义和创建所需的对象(如果您不希望以这种方式工作)


这样做有好处。这意味着一个页面的代码只需要关注一个页面请求。几乎所有与数据共享和多线程执行有关的问题都被推到了可以无形地处理它的事情上,就像数据库和web服务器一样。

您误会了面向对象编程的定义包括一个持久性环境,其中的对象独立于页面请求而存在。恐怕不行

PHP确实做“真正的”面向对象编程。但是PHP的执行环境类似于执行CGI程序:在页面请求时,程序启动,页面完成时程序结束。在这种模式中,对象只能在页面生成内容时存在。因此,页面必须做的第一件事是加载框架以定义和实例化所需的对象,例如必须在页面请求周期内加载和保存其数据的数据库处理程序和对象映射器。一些框架还将创建带有页面请求数据的对象,您的代码和对象可以访问这些数据,有时可以从对象内部访问这些数据

但是PHP并没有以本机方式提供这一功能,因为它没有强制执行框架。它本质上是程序性的,因此必须添加一个框架,以便定义和创建所需的对象(如果您不希望以这种方式工作)

这样做有好处。这意味着一个页面的代码只需要关注一个页面请求。几乎所有与数据共享和多线程执行有关的问题都被推到了可以无形地处理它的事情上,比如数据库和web服务器