2009-05-08 3 views
0

그래서 기본적으로는 this입니다.관리자 패널 설정 방법이 좋습니까?

하지만 이것은 좋은 습관입니까? 크기가 커지면서 admin.php 파일을 분할하기 시작했습니다.

그러나 잠재적으로 끝낼 수있는 파일 수에 대해 약간의 우려가 있으며 모든 파일에 대해 업데이트해야 할 수도있는 문제가있을 수 있습니다.

답변

2

나는 내 자신의 CMS 엔진을 개발하는 비슷한 생각을 가지고있었습니다. 결국 나는 당신과 똑같은 기초적인 해결책으로 끝나지 만, Smarty는 논리 - 표현 분리를 위해 끝납니다.

하지만 지금은 시간이 지나면 훨씬 더 좋은 해결책이 있습니다. Command Pattern을 사용합니다. 코드를 파일과 달리 클래스로 분리해야합니다. 모든 클래스가 구현할 명령 인터페이스를 설정해야합니다. 이렇게하면 관리자 페이지가 Front Controler (다른 디자인 패턴)으로 작동합니다.

Front Controler의 책임은 Command 개체를 인스턴스화해야하는이 작업에 따라 자신의 페이지 $ _GET [ "action"]에있는 모든 입력을 수집하고이 switch 문 다음에 $ command-> execute(); 명령 클래스에 포함 된 코드를 실행합니다. EditPageCommand, DeletePageCommand, NewPageCommand 등 파일

않도록 코드를 분리 : 당신이됩니다 examle를 들어

. 모든 것을 위해 수업을 사용하고 패턴을 배웁니다. ;)

+0

전에 수업을 다녀 본 적이 없습니다 ... : P – unrelativity

+0

질문이 있으시면 ... 시도하십시오. – zidane

0

대용량 파일을 몇 개의 작은 모듈 식 모듈로 나누면 항상 좋은 생각입니다.

그러나 로직 및 프리젠 테이션이 섞이지 않도록 HTML 템플릿 엔진을 사용합니다. smarty을 살펴보십시오.

+4

로직과 프리젠 테이션을 혼합하지 않는 아이디어가 좋은 것이지만, 완벽하게 좋은 템플릿 언어 (PHP) 위에 템플릿 엔진 (스마트)을 던질 필요가 없습니다. –

+0

내가 어떻게해야할지 모르기 때문에 백엔드와 프론트 엔드를 함께 만드는 방법을 생각할 수 있다면 템플릿 시스템입니다. – unrelativity

+0

@Paolo : 그렇지만 PHP에 대해 싫어했던 한 가지 점은 HTML 전체에 흩어진 인쇄 문이었습니다. 이 문제를 해결하는 방법을 알고 있습니까? @ a2h : 먼저 변수 및/또는 배열을 모은 다음 템플릿에 fill을 호출합니다. 템플릿에는 {{title}}과 같은 특수 태그가 있습니다. –

1

PHP에서 클래스를 사용하여 프로젝트를 논리 모듈로 분할하십시오. 그런 다음 모든 파일을 수동으로 업데이트하지 않아도됩니다.