하나의 XML 피드를 사용하는 PHP 코드를 작성했습니다. 이 피드는 다양한 계산을 위해 약 12 개의 함수에서 사용됩니다. 각 함수에서 simplexml_load_file을 사용하여 파일을로드합니다. 전달 된 변수에 따라 다양한 결과를 표시하기 위해 동일한 페이지에서 여러 함수가 호출됩니다. 나는 모든 기능에 의해 사용될 수있는 XML 피드를 한 번로드 할 수있는 방법이 있는지 알고 싶습니다. 각 페이지에 5 ~ 6 번 파일을로드하는 대신 전달 된 변수에 따라 모든 계산을 수행합니까?PHP에서 모든 함수에 대해 XML 파일을 한 번로드하는 방법
0
A
답변
0
싱글 톤을 사용하고 XML을 멤버 속성으로 사용하면 동일한 요청에 대해 작동합니다. 사람이 XML에 액세스해야 할 때마다 , 그들은 전화 :
$ XML = 싱글 ::은 GetXML(); 당신이 요청의 수를 통해 뭔가를 계속하려면
, 당신의 가장 좋은 방법은 memcache를하거나 데이터베이스 같은 일부 캐시 층에 충실하는 것입니다.
- 은 세계적인 $ XML을 확인하고 요청의 시작을 처리합니다. 기능은
0
$xmlfeed = file_get_contents("http://website.com/xml.xml");
doSomeFeedMagic($xmlfeed);
doSomeMoreMagic($xmlfeed);
: 당신이 당신의 함수를 호출
function doSomeFeedMagic($feed){
// do magic here
}
function doSomeMoreMagic($feed){
// do magic here
}
로드 공급하기 전에 다음 변수로 함수에 전달합니다.
0
당신은 XML 파일에서 모든 기능과 값을 포함하는 정적 클래스를 만들 수있다.
class Calculations {
private static $_xmlData;
static function loadXml() {
// load xml file and save data in self::$_xmlData
}
static function calculation01() {
// calculate using self::$_xmlData
}
}
서로 다른 데이터와 동일한 구조를해야 할 경우, 단지 기능이 정지하지 않습니다.
2
함수가 매우 다른 경우 함수에 캐시 할 수 있습니다. 예를 들어 파일을 수동으로로드하는 대신 load_xml()을 호출하면 캐시됩니다. 이는 또한 모든 변경 사항이 캐시에 충실한다는 것을 의미합니다. 복사본을 원한다면 복제해야합니다.
function load_xml($filename)
{
static $cache = array();
if (!isset($cache[$filename]))
{
$cache[$filename] = simplexml_load_file($filename);
}
return $cache[$filename];
}
그렇지 않으면, 당신은 클래스로 피드 처리를 그룹화 나을 및 객체 VAR로 원본 문서를 캐시 할 수있다.
class feed_processor
{
protected $feed;
public function __construct($filename)
{
$this->feed = simplexml_load_file($filename);
}
public do_some_stuff()
{
$this->feed->addChild('foo', 'bar');
}
}
관련 문제
- 1. PHP에서 xml 파일을 암호화하는 방법
- 2. Django에서는 모든 함수에 대해 어떻게 이것을 작성합니까?
- 3. PHP에서 XML 문자열을 출력하는 방법
- 4. PHP에서 함수에 인수 전달
- 5. PHP에서 잘못 될 필요는없는 함수에 코드를 래핑하고 있습니까? 한 페이지에
- 6. PHP에서 파일을 잠그는 방법?
- 7. PHP에서 move_uploaded_file() 함수에 관한 문제
- 8. xml - XML 파일을 만드는 방법/실행하는 방법
- 9. XML 파일을 편집하는 방법
- 10. VB에서 각 함수에 대해
- 11. 일부 함수에 대해
- 12. PHP에서 중복 파일을 확인하는 방법?
- 13. Java의 한 함수에 대해 별도의 서비스 클래스를 만들어야합니까?
- 14. PHP에서 xml 속성에 액세스하는 방법
- 15. PHP에서 XML 파일을 안드로이드 응용 프로그램으로 전송
- 16. PHP에서 XML 파일을 캐시하는 방법은 무엇입니까?
- 17. PHP에서 xml 파일을 만들 때 문제가 발생했습니다
- 18. 한 사용자가 수정 한 모든 파일을 알려주시겠습니까?
- 19. 모든 구성원에 대해 xml 메모를 강제로 적용
- 20. 사용자가 PHP에서 파일을 성공적으로 다운로드 한 것을 감지하는 방법
- 21. PHP에서 xml 문제가 발생했습니다.
- 22. .dll 파일은 모든 프로그램에 대해 한 번로드되거나 모든 프로그램에 대해 한 번로드됩니까?
- 23. PHP에서 플래시로 xml 데이터를 전달하는 방법
- 24. mvc3 응용 프로그램에 대해 모든 web.configs를 한 번에 병합하는 방법
- 25. XML 파일을 다른 XML 파일에 추가하는 방법
- 26. 모든 모듈에 대해 Maven에서 단일 checkstyle 억제 파일을 사용하는 방법
- 27. PHP에서 간단한 xml 객체를 사용하는 방법
- 28. PHP에서 XML 파일 채우기
- 29. CodeAnalysisLog XML 파일을 읽는 방법?
- 30. Java에서 xml 파일을 만드는 방법