무한 분류는 개발에서 자주 사용되는 설계 기법입니다. 이 글에서는 PHP에서 무한 분류를 구현하는 방법을 주로 소개합니다.
무한 분류는 웹사이트 디렉토리, 부서 구조, 기사 분류 등 개발에 자주 사용되는 디자인 기법입니다. 저자는 테이블의 계층 구조를 설계하는 데 큰 역할을 한다고 느낍니다. 예를 들어 일부 플랫폼에서는
초대자를 작성하면 상사-하급 관계가 되며, 상사는 여러 부하를 갖게 되며, 부하 직원은 자신의 분기를 갖게 됩니다. 대부분은 재귀적 아이디어를 사용하여 구현됩니다. 더 이상 고민하지 않고 먼저 재귀 구현을 검토해 보겠습니다.
재귀(프로그램이 자신을 호출하는 프로그래밍 기술):
1. $_GLOBALS[결과]
2. 정적 $결과
3. 매개변수 참조 및
예: 트래버스 1-10
으아아아1. 무한 분류 구현:
1. 테이블 디자인에서 상위 ID를 설정하고 상위 상위 ID를 0으로 설정하여 가계도를 설정합니다. 각 카테고리는 상위 ID를 기록해야 합니다. (pid=0은 최상위 레벨을 나타냅니다)
id pid catename cateorder createtime(기본 키 ID, 상위 ID, 카테고리 이름, 카테고리 정렬, 생성 시간)
예: 웹사이트의 카테고리 구조, 케이터링의 카테고리 구조, 댓글 구조
2. 전체 경로 무제한 분류 (한 필드에 모든 상위 ID를 순서대로 기록)
id path catename cateorder createtime (기본 키 ID, 쉼표로 구분된 상위 ID, 카테고리 이름, 카테고리 정렬, 생성 시간)
장점과 단점:
전체 경로 쿼리가 편리할 뿐만 아니라 분류를 이동할 때 데이터 유지 관리가 약간 더 복잡해집니다.
2. 구현 예(웹사이트 디렉토리):
분류표:
으아아아이미지가 있는 디렉터리 경로를 가져옵니다.
으아아아*주의할 점:
모바일 카테고리는 하위 카테고리로 이동할 수 없으며 하위 카테고리는 삭제할 수 있습니다. (최하위 카테고리만 삭제할 수 있고, 하위 카테고리가 없는 카테고리만 삭제할 수 있습니다. 즉, 가장 낮은 수준에서만 삭제할 수 있습니다.)
이미지 유형 아래의 모든 이미지 카테고리를 생각하시나요?
으아아아이 방법은 상위 카테고리 아래의 모든 도서와 기사를 쿼리하는 데 더 적합합니다. . . 물론 전체 경로는 직접 얻을 수 있으므로 여기서는 언급하지 않겠습니다.
실제 작업에서는 실제 상황에 따라 합리적인 테이블 구조를 설계할 수 있습니다.
예를 들어, 체인점에서 상품 관리를 구현하는 경우 해당 매장의 계정 설정은 에이전트 포인트의 분할에 따라 상위-하위 관계를 가지게 되며 이러한 하위 항목은 자체 하위 항목을 가질 수 있으므로 이러한 무제한 분류 방법을 사용하면 됩니다. 이러한 상황에 더 유연하게 대처할 수 있습니다. 이러한 관계 시스템을 사용하면 각 계정 수준만 설정하여 다양한 상점에 대한 권한 분배를 설정하면 됩니다.