저는 PHP와 Ajax를 처음으로 접하는 경험 많은 프로그래머입니다. 객체 지향 PHP를 내 ajax에 통합하는 방법을 알아 내려는 데 어려움을 겪고 있습니다. webapp.PHP, jQuery, Ajax 객체 지향
관리자 페이지의 사용자 선택에 따라 XML 파일에서 정보 (info.xml)를로드하고 쓰는 관리자 페이지 (admin.php)가 있습니다.
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(){
}
}
내가 그렇게
<?php
include '../includes/CompetitionManager.php';
$cm = new CompetitionManager()
?>
<script>
...all my jquery
</script>
<html>
... all my form elements
</html>
처럼 admin.php에 ContentManager 객체를 생성 : 나는로드 및 디스크에 XML 파일의 작성, 즉 관리 객체 (ContentManager.php)를 사용하기로 결정했습니다
그래서 지금은 내가 어떻게 생을 이해할 수 있도록
<?php
if(_POST[]=="get_a"){
}else if()
}
...
?>
같은 사용자 인터페이스 (ajax_handler.php)를 사용하여 ContentManger 응용 프로그램을 통해 XML 파일에서 정보를 검색 할 수 있도록 AJAX를 사용하려면 내가 객체를 사용하지 않는다면 작동 할 것입니다. 즉, .post 요청의 변수에 따라 핸들러 PHP 파일이 특정 작업을 수행하지만 설치 프로그램을 사용하면 ContentManager에 대한 참조를 얻는 방법을 알 수 없습니다 내가 admin.php에서 ajax_handler.php 파일로 생성 한 객체? PHP 객체 범위에 대한 제 이해에 결함이있을 수 있습니다.
어쨌든 누구나 내가 무엇을하려고하는지 이해할 수 있다면 도움이됩니다.
잘 admin.php 파일의 시작 부분에 ContentManager 객체를 인스턴스화했습니다. 따라서 사용자 상호 작용 전체에 양식과 함께 존재해야합니다. – pastylegs
nah ... 아약스 호출 인 경우 완전히 별도의 http 요청입니다. 브라우저가 "posting back"하지 않는다는 사실은 혼란을 야기 할 수 있지만, ajax 요청은 페이지 요청이나 양식 포스트와 같은 라이프 사이클을 따릅니다. 시각적으로보기 힘들다면 Firefox 용 Live HttpHeaders 플러그인을 다운로드하고 ajax 요청이 페이지의 클라이언트에서 서버로 이동하는지 확인하십시오. – Rich
흠, 아마도 이것에 대한 나의 이해는 조금 벗어 났을 것이다. 나는 당신이 Ajax 요청을 할 때 완전히 새로운 http 호출이고 그래서 수명이 짧다는 것을 이해한다. 그러나 admin.php가로드되어서 php 객체를 생성하면 그 PHP 객체가 서버에 무기한 남아 있지 않은가? 참조가 없어지면 즉, 사용자가 페이지에서 벗어날 때까지? 그 동안 모든 Ajax 요청이 해당 객체 – pastylegs