2013-07-04 1 views
1

나는 glocal.ascx의 C#에서 application_start 이벤트를 사용하는 데 익숙합니다.Application_Start 대신 PHP 대체 #

PHP에서 비슷한 것을 만들어야하므로 응용 프로그램을 처음로드 할 때 모든 데이터를 처음으로 캐시 할 수 있습니다.

누군가 나를 이렇게하는 좋은 방법을 알고 있습니까?

+0

원시 PHP는 이와 같은 프레임 워크가 아니므로 수동으로해야하거나 FuelPHP – Bojangles

+0

과 같은 프레임 워크를 사용하는 것은 처음으로 라운드 한 후에 클래스의 소멸자를 사용하여 아무것도 캐시하지 말아야합니다. 두 번째로 돌아 오는 생성자에서 캐시를로드하십시오.) – Preexo

답변

0

PHP에서는 각 스크립트가 순차적으로 모든 코드를 실행 한 다음 종료됩니다. 그래서, 귀하의 질문을 제대로 이해한다면 기본적으로 캐싱 시스템을 스크립트 상단에 구축하려고합니다.

내 간단한 프로젝트에서 나는 모든 내 사이트의 전체/글로벌 작업을 처리하는 파일 (내가 assign.inc라고 부름)을 포함 시켰습니다.

큰 프로젝트에서 나는 모든 트래픽을 index.php (.htaccess를 통해)를 통해 작성했습니다. 이것은 __construct를 사용하여 모든 것을 처리하는 CMS 클래스를 시작합니다.

도움이 되었습니까?

1

PHP에는 ASP.NET에서 AppDomain과 같은 것이 없습니다.

ASP.NET에서는 웹 서버가 AppDomain 프로세스를 생성하고 (동기식) 요청이이 프로세스 내에서 "HttpContext 스레드"로 처리됩니다. 비동기 IHttpHandler는 여러 스레드에서 처리 될 수 있지만 동일한 AppDomain 프로세스를 공유합니다.

PHP에서 각 요청은 하나의 프로세스 (FastCGI 스레드로)이지만 정적 공유 범위가 없습니다. 스크립트가 실행 된 다음 종료됩니다. 메모리 내에서 데이터를 공유하려면 memcache와 같은 도우미가 필요합니다.