2011-05-14 4 views
3

저는 지난 몇 년 동안 함수를 사용하여 프로그래밍을 해왔으며 실제로는 객체 사용의 '가치'를 파악하지 못했습니다.PHP - 개체 인스턴스를 여러 페이지에서 사용할 수 있습니까?

내 핵심 질문은 : PHP에서 인스턴스화 된 객체를 여러 페이지에 걸쳐 사용할 수 있습니까? 아니면 페이지가 닫힐 때 페이지가 죽을 수 있습니까?

자습서에 대한 링크조차도 좋습니다!

+1

정말 오래된 것 : http://oreilly.com/php/archive/mvc-intro.html – JohnP

+0

JohnP에게 감사드립니다. 참고 자료는 훌륭했습니다!마지막으로 Orielly를 검사했을 때 PHP4에 관한 모든 것이었고 우리 모두는 그 구버전의 문제를 알고 있습니다 :) – itsols

답변

3

뭐든지 페이지가 일부에 넣어하지 않는 한, 제공되는 완성되는 순간을 멸망 할 것이다 개체에 대한 설명이 다음 상단

에 그것을 포함하는 별도의 페이지를 만드는 간단한 종류의 저장.

개체와 OOP를 사용하면 큰 절차 파일을 사용하는 것보다 코드를 유지 관리하기가 쉽습니다. 또한 MVC 프레임 워크를 고수하면 프로젝트를 구별되는 구성 요소로 분리하는 데 도움이됩니다.

MVC를 사용하는 데 대한 인터넷 튜토리얼이 많이 있습니다.

+0

감사합니다. JohnP. PHP 웹 사이트를 포함하여 많은 자습서가 있다는 것을 알고 있습니다. 불행히도, 나는 지금까지이 질문에 답하는 데 만족스럽지 못했습니다. 그들은 5 페이지 사이트가 OOP 또는 MVC를 사용하여 가치가있는 방법을 보여주지 않습니다. 필자는 지금까지 함수의 파일을 별도로 가지고 필요할 때 포함시키는 것이 더 의미가 있다고 본다. C++에서는 OOP의 중요성을 이해할 수 있지만 PHP에서는 그렇지 않습니다. – itsols

+0

그것은 이와 같습니다. 만약 당신이 코드 작업을하는 유일한 사람이고 프로젝트가 성장하지 않는다면 MVC의 이점은 그다지 가치가없는 것처럼 보일 수 있습니다. 그러나 더 많은 사람들이 작업을 시작하고 프로젝트가 성장하기 시작하면 MVC는 배당금을 지불하게됩니다. 핵심은 그것이 잘 비례한다는 것이다. – JohnP

2

페이지가 끝나 자마자 죽습니다. 웹상의 다른 모든 것과 같습니다. 객체 사용의 이점은 패키지 작업 성 및 재사용 가능성에 있으며 여러 페이지로드에서 존재할 수 있다는 점이 아닙니다.

+1

그렇다면 함수 컬렉션을 가진 공통 파일을 가지고 있다면 똑같지 않습니까? 그냥 포함 시키시겠습니까? 이렇게하면 코드를 적게 작성합니다. – itsols

+0

물론 아주 기본적인 수준이지만 대규모 프로젝트에서는 지속 가능하지 않습니다. – stevecomrie

1

오브젝트가 페이지에로드 된 경우에만 존재합니다 ... include, require 등. MVC 디자인 패턴을 사용하여 완료됩니다.

"PHP Object-Oriented Solutions"이 좋았습니다. 다운로드 할 수있는 책이있는 코드가 있으며, 예제는 실생활이므로 프로젝트의 범위를 볼 수 있습니다. 다른 말로하면, "대부분의 프로젝트가 이익을 얻을 것이기 때문에 나는 그것을 좋아했다. 그러나 그들 중 대부분은 여전히 ​​마케팅과 관련이 있으며, 매우 큰 어플리케이션이 아니다.

나는이 책을 CodeIgniter 프레임 워크를 배우는 것과 결합 시켰고,

편집 : 이 책의 예는 Amazon 유형 사이트를 기본으로 사용하고 제품 아이디어로 확장됩니다 (추상화로 사용됨). 예를 들어, "@ # $! @ # $") vs products (Books, DVDs 등) 주 객체는 항목을 판매하는 데 필요한 모든 함수/메소드를 포함하지만 항목의 세부 사항은 하위 클래스의 작업으로 남겨 둡니다. 예에서 책의 하위 클래스 페이지 수가 필요합니다 .DVD 용 하위 클래스는 길이가 필요합니다.

요약하면 제품의 상위 클래스가 모든 페이지에 있어야하지만 책용으로 확장하는 메소드는 책별 페이지에만 있어야합니다. DVD 페이지에서도 마찬가지입니다. 이점은 사이트에 잡지를 추가해야하는 경우 상위 클래스가 정상적으로 작동한다는 것입니다. 잡지 전용으로 부모를 확장하는 클래스 만 작성하면됩니다. 부모 클래스는 변경되지 않습니다.

0

PHP는 "비공유"아키텍처를 사용합니다. 개체가 요청을 처리하지 못합니다.

관련 문제