현재 위치: > 최신 기사 목록> PHP 다수의 관계 구현에 대한 자세한 설명 : 객체 지향 프로그래밍의 실제 방법

PHP 다수의 관계 구현에 대한 자세한 설명 : 객체 지향 프로그래밍의 실제 방법

gitbox 2025-06-23

객체 지향 프로그래밍에서 다수의 관계를 적용합니다

소프트웨어 개발에서 다수의 관계는 공통 데이터 모델 구조입니다. 특히 객체 지향 프로그래밍 (OOP)에 PHP를 사용할 때 이러한 관계를 처리하면 데이터 모델링의 유연성이 향상 될 수 있습니다. 예를 들어, 학생은 여러 과정을 수강 할 수 있으며 여러 학생이 코스를 수강 할 수도 있습니다. 이 양방향 다중 상관 관계는 다수의 관계의 전형적인 적용입니다.

다수의 구조를 설계하는 방법

엔티티 클래스를 정의합니다

먼저, 학생과 코스의 두 가지 핵심 개체에 대한 수업을 만들고자합니다. 각 클래스에는 ID 및 이름과 같은 기본 속성이 포함됩니다.

 
class Student {
    private $id;
    private $name;
    // ...
}

class Course {
    private $id;
    private $name;
    // ...
}

중간 관계 클래스를 구축하십시오

데이터베이스 관계는 PHP에서 직접 지원되지 않으므로 데이터베이스의 중간 테이블을 시뮬레이션하기 위해 중간 클래스를 만들어야합니다. 예를 들어, 학생과 과정을 연관시키기 위해 학생과 수업을 만들 수 있습니다.

 
class StudentCourse {
    private $studentId;
    private $courseId;
    // ...
}

다수의 관계의 핵심 운영을 구현합니다

코스와 학생 관계를 추가하십시오

학생 선택 과정의 관계를 중간 테이블 ( 학생 _course 와 같은)에 삽입하면 다음 코드를 사용할 수 있습니다.

 
$studentId = 1;
$courseId = 2;
$query = "INSERT INTO student_course (student_id, course_id) VALUES (?, ?)";
$stmt = $pdo->prepare($query);
$stmt->execute([$studentId, $courseId]);

학생이 선택한 과정을 쿼리하십시오

학생이 취하는 모든 과정을 얻으려면 코스 시트를 조인 작업을 통해 중간 테이블에 연결할 수 있습니다.

 
$studentId = 1;
$query = "SELECT course.* FROM course 
          JOIN student_course ON course.id = student_course.course_id 
          WHERE student_course.student_id = ?";
$stmt = $pdo->prepare($query);
$stmt->execute([$studentId]);
$courses = $stmt->fetchAll(PDO::FETCH_ASSOC);

학생과 코스의 관계를 삭제하십시오

코스에 대한 학생의 선택적 관계를 취소 해야하는 경우 삭제 작업을 수행하십시오.

 
$studentId = 1;
$courseId = 2;
$query = "DELETE FROM student_course WHERE student_id = ? AND course_id = ?";
$stmt = $pdo->prepare($query);
$stmt->execute([$studentId, $courseId]);

요약

위의 방법을 통해 PHP에서 객체 지향 환경에서의 다수의 관계를 효과적으로 실현할 수 있습니다. 중간 테이블 구조를 통해 개발자는 학생과 업체와 같은 코스와 같은 코스 간의 관계를 쉽게 관리하여 운영 추가, 쿼리 및 삭제를 포함하여보다 유연한 데이터 모델을 구축 할 수 있습니다.