2011-12-22 4 views
4

지난 몇 년 동안 저는 CodeIgniter를 기반으로 웹 응용 프로그램을 개발했습니다. CI가 지금까지 잘 해왔지만 차세대 소프트웨어의 경우 PHP 5.3과보다 견고한 프레임 워크로 전환하려고합니다. FuelPHP가 1 년 전에 나타 났으므로 FuelPHP를 보았습니다. 이제는 다음 버전의 개발을 본격 시작하는 시점에 이르렀습니다. FuelPHP를 사용하는 데 관심이 있습니다.FuelPHP의 여러 응용 프로그램 디렉토리

내 응용 프로그램은 여러 응용 프로그램 디렉터리 사용에 의존합니다. 본질적으로 시스템의 핵심 기능을 가진 시스템 응용 프로그램 이 있습니다. 코드는 업데이트 중에 변경되므로 관리자가 수정하면 안됩니다. 또한 사용자 응용 프로그램 디렉토리가 있습니다. 여기서 admins는 시스템 클래스를 확장하고 무시할 수 있습니다. 이렇게하면 관리자는 시스템 코어를 만지지 않고도 시스템을 사용자 정의 할 수 있습니다. 따라서 시스템을 업데이트 할 때 관리자가 수정 내용을 잃지 않도록 방지 할 수 있습니다. URL에서 요청이 들어 오면 시스템에서 먼저 사용자 응용 프로그램 디렉토리를 확인해야합니다. 거기서 컨트롤러를 찾지 못하면 시스템 응용 프로그램 디렉토리 (이론적으로 파일을 찾아야합니다)로 이동하여 해당 컨트롤러를 사용하십시오.

나는 CI 또는 Kohana 사고 방식에서이 문제에 접근하는 실수를하고 싶지 않습니다. 그래서 나는 FuelPHP에서 이것을 수행하는 가장 좋은 방법은 무엇인지 궁금합니다. 필자는 FuelPHP에 대한 많은 경험이 없기 때문에 누군가가 나에게 조언을 주거나 올바른 방향으로 나를 밀어 줄 수 있기를 바랬다.

감사합니다.

답변

8

FuelPHP에는 응용 프로그램의 핵심으로 고려 될 수있는 'app'폴더가 있습니다. 소규모 응용 프로그램의 경우 응용 프로그램 코드도 포함될 수 있습니다.

더 크고 복잡한 응용 프로그램의 경우 모듈을 사용하십시오. 모듈은 'app'과 정확히 같은 폴더 구조를 갖지만 자체 네임 스페이스 (= 모듈 폴더 이름)에 있습니다. FuelPHP는 여러 모듈 위치를 지원하므로 다른 웹 사이트에서 공유하는 모듈과 웹 사이트 고유 모듈을 포함 할 수 있습니다.

특별한 라우팅없이 URI의 첫 번째 세그먼트가 모듈 이름이면 해당 모듈의 컨트롤러가로드됩니다.

+0

빠른 응답을 보내 주셔서 감사합니다. 나는 오늘날과 같은 모듈을 사용하는 것에 대해 읽었을 것이다. 그리고 컨트롤러에 대해서는 잘 작동한다. 그러나 핵심 클래스를 확장하고 핵심 뷰를 대체하고 구성 파일을 덮어 쓰는 등의 작업에 착수하면 엄청나게 혼란 스럽습니다 (말할 수있는 한). 이런 종류의 일을 쉽게 성취 할 수있는 다른 방법이 있습니까? 아니면이 일에 제가 빠져 있습니까? – agentphoenix

+0

"app"폴더가 상자 밖으로 FuelPHP와 함께 제공되는 기본 응용 프로그램 폴더라는 것을 추가합니다. 원하는 폴더에 이름을 지정하고 나란히 앉아있는 여러 개의 응용 프로그램 폴더를 만들 수 있습니다. 주 "index.php"는 특정 응용 프로그램 폴더를 가리키며 여러 응용 프로그램 폴더를 가리키는 여러 개의 진입 점을 가질 수 있습니다. 각 응용 프로그램 폴더는 자체 데이터베이스가있는 독립 응용 프로그램으로 실행하거나 리소스를 공유 할 수 있습니다. 모든 구성 파일은 구성 파일에 적용됩니다. – Jason

관련 문제