2011-08-01 7 views
1

내 코드가 어수선하기 때문에 MVC 디자인 패턴을 사용하여 업 로더를 다시 작성하기로 결정했습니다. 파일은 다음과 같이 구성됩니다.MVC, 어떻게 구성 파일을 작성합니까?

-model.php : 기본적으로 업로드 된 파일, 현재 사용자의 파일 수 등 데이터베이스에서 데이터를 검색하는 데 필요한 모든 기능을 가진 클래스입니다. PDO (PDO 객체)에 의해 생성 된 리소스를 유지하는 db_link라는 전용 변수가 있습니다.

-index.php : 컨트롤러입니다. 업로드중인 파일이 있는지 확인하고 유효한 확장자가 있는지 확인합니다.이 파일은 model.php에 포함 된 클래스의 함수를 호출합니다 (먼저이 클래스의 객체를 만듭니다).

-settings.php : 내 설정 파일. 이것은 데이터베이스 사용자 이름, 암호, 최대 파일 크기, 허용되는 확장자 등을 결정하는 곳입니다. 간단히 다음을 수행합니다 : $ allowed_extension = array ('swf', 'txt', 'jpg', 'gif ','png ');

그러나 index.php에이 변수를 포함하고이 변수를 함수에 사용하려고하면 동일한 범위에 있지 않기 때문에 작동하지 않습니다 (함수 자체 내에 포함하지 않으면 나는 그것을하고 싶지 않다). 난 내 설정을 구성하는 더 좋은 방법이 필요해.

또한 이전에 얘기 한 클래스로 db 객체를 만듭니다. 내가 호출하고 싶은 함수에 객체를 전달해야합니다. 이것은 목에 통증도 있습니다. 내가 할 수있는 또 다른 방법이 있니?

답변

0

당신은 아마 settings.php에 상수를 사용한다 :

  • 당신이 방법을 직렬화 사용하여 배열을 저장할 수 있습니다
  • 상수가 가능한 모든 곳에서
  • 더 읽을 수 있습니다 ( PHP Constants Containing Arrays? 에 대한 답을 참조)
  • 설정은 항상 일정해야합니다.

db는 항상 싱글 톤 패턴을 사용하고 있으며 Model_Mysql::getInstance();을 사용하므로 어디서나 자동으로 사용할 수 있습니다.

관련 문제