2012-09-22 3 views
0

저는 웹 사이트에 객체 지향 디자인을 구현한다고 말했습니다. PHP를 사용하고 있는데 문제가 발생했습니다.PHP 클래스 파일 링크에 문제가 있습니까?

필자의 경향은 하나의 파일 당 하나의 클래스를 정의하는 것입니다. 일반적으로, 올바르게 기억한다면 대부분의 언어에서 클래스가 주 프로그램에 명시 적으로 연결될 필요없이 동일한 디렉토리에 있으면 호출 될 수 있습니다 (잘못되었거나 가상 시스템에 고유 할 수 있음).

현재, 클래스 파일을 기본 파일에 연결하지 않으면 PHP에서 오류가 발생합니다. 그 위에 자식 클래스는 부모 클래스 파일에 대한 링크를 정의하지 않으면 실행되지 않습니다.

명시 적으로 모든 파일을 함께 연결해야합니까?

여기에 세부 사항에 대한 내 코드의 일부 조각을이다 :

<?php 



include_once 'VRC_Header2.php'; 
include_once 'UserService.php'; //Child class file of DB_MySQL.php 
include_once 'DB_MySQL.php'; //Parent class 
    //Without the two links above, this file will not execute 

그런 자식 클래스 : 어떤 도움에 감사드립니다

class UserService extends DB_MySQL 

{... 

.

답변

0

예, PHP에서는 인스턴스화하기 전에 필요한 모든 수업을 포함해야합니다. 이 문제를 회피 할 수

한 가지 방법은 자동 로딩을 사용하는 것입니다 : 대부분의 PHP 프레임 워크 (예를 들어, 젠드 프레임 워크)에 사용되는

http://php.net/manual/en/language.oop5.autoload.php

.

+0

알아두면 좋을 것 같습니다. autoload()도 확인해 보겠다. 좀 더 실용적인 접근 방법 인 것 같다. – Mlagma

0

모든 클래스 파일을 서로 포함해야합니다. 그렇지 않으면 다른 페이지는 클래스가있는 곳을 이해하지 못합니다.

namespace 개념을 사용할 수 있습니다.

http://php.net/manual/en/language.namespaces.php

는하지만 당신은 클래스 파일을 포함해야합니다.

관련 문제