PHP,jQuery和Ajax面向对象

我是一个相当有经验的程序员,第一次了解PHP和Ajax,我在如何将面向对象的PHP合并到我的ajax webapp中时遇到了一些麻烦。

我有一个管理页面(admin.php),它将从XML文件加载和写入信息(info.xml),具体取决于用户对管理页面上表单的选择。 我决定使用一个对象(ContentManager.php)来管理XML文件到磁盘的加载和写入,即:

class ContentManager{ var $xml_attribute_1 ... function __construct(){ //load the xml file from disk and save its contents into variables $xml_attribute = simplexml_load_file(/path/to/xml) } function get_xml_contents(){ return xml_attribute; } function write_xml($contents_{ } function print_xml(){ } } 

我在admin.php中创建了ContentManager对象,就像这样

   ...all my jquery   ... all my form elements  

所以现在我想使用AJAX允许用户通过ContentManger应用程序使用接口(ajax_handler.php)从XML文件中检索信息

  

我理解如果我不使用对象,这将是如何工作的,即,根据.post请求中的变量,hander php文件会执行某个操作,但是在我的设置中,我无法看到我如何获得引用我在ajax_handler.php文件的admin.php中创建的ContentManager对象? 也许我对php对象范围的理解是有缺陷的。

无论如何,如果有人能够理解我正在尝试做什么,我将不胜感激!

将每个ajax调用视为一个单独的请求。 如果在特定请求的生命周期中您尚未实例化您的ContentManager,则该对象不存在。 如果您想在多个请求之间使用单个对象,请将其序列化为会话,并在请求生命周期的早期对其进行反序列化。

我不知道这是否是你需要的,好吧,这里有。 有一个PHP文件来处理所有表单提交。 例如:proc.php或ACTION =“proc.php”中的类似内容。 在proc.php中,根据提交的参数,进行函数调用。 您应该做的另一件事是在类文件本身的末尾创建类(对象)的实例,从而无需每次都检查对象是否被实例化。 如有必要,在调用对象函数之前使用global $objectname