워드프레스 데이터베이스 $wpdb 대 get_option()
그래서 저는 get_option 함수를 사용하여 상호 작용을 생성하고 데이터베이스에 삭제하는 플러그인을 개발하고 있습니다.
이제 데이터베이스에서 값을 가져오는 글로벌 $wpdb 방식을 사용하는 방법을 보여주는 몇 가지 튜토리얼을 보았습니다.
그 둘의 차이점은 무엇이며, 하나가 다른 것보다 낫습니까?
posts와 관련된 plugin option이나 light weight data를 저장할 경우 get_option(), get_post_meta() 및 관련 기능이 이상적입니다.관계형 데이터베이스 활동의 경우 $wpdb가 가장 좋습니다.그 이유는 다음과 같습니다.
$wpdb는 데이터베이스와의 상호 작용을 위해 ezSQL PHP 클래스를 기반으로 하는 클래스입니다.일부 기능은 다음과 같습니다.
1) 는 $wpdb->prepare(), $wpdb->insert() 및 $wpdb->update() 메서드를 사용하여 SQL 주입 보호를 제공합니다.get_option ()은 Key = > Value 쌍을 수행할 수 있는 도우미 기능입니다.
2) $wpdb는 사용하기 쉽습니다.반환된 행이 포함된 배열 또는 연관 배열(열 이름이 키인 배열)을 포함하는 $wpdb->get_results($sql,ARY_A) 등 다양한 형태로 레코드 집합을 반환할 수 있습니다.$wpdb->get_ results($sql)은 개체의 속성으로 열 이름을 가진 개체 배열을 반환합니다.$wpdb->get_var ($sql)은 스칼라 결과(쿼리에서 데이터 집합의 첫 번째 행 첫 번째 열)를 반환합니다.$wpdb->get_row ($sql)은 단일 행을 개체로 반환합니다.
3) $wpdb를 사용하면 데이터베이스의 모든 테이블과 상호 작용할 수 있으며, $wpdb-> query($sql)을 사용하여 자유 양식 쿼리를 수행할 수도 있습니다.
4) WordPress는 MySQL 이외의 데이터베이스에 대한 지원을 추가하는 경우 $wpdb와의 상호 작용을 변경할 필요가 없도록 보장할 것입니다.원래 ezSQL 클래스는 교차 데이터베이스 지원을 제공하기 위한 것이었습니다.
따라서 데이터를 관계적인 방식으로 처리해야 한다면 $wpdb는 WordPress에 매우 적합한 선택입니다.
get_option () 및 get_post_meta()은 get_post_meta()의 경우 특정 게시물과 관련되거나 key=> get_option과의 값 쌍을 통해 적은 양의 데이터를 쉽게 처리할 수 있습니다.
이러한 장점 중 하나는 직렬화된 배열 또는 객체를 저장하고 해당 데이터를 배열 또는 객체로 다시 가져올 수 있다는 것입니다.이렇게 하면 데이터베이스 테이블이 있는 것처럼 데이터 필드를 매우 쉽게 처리할 수 있습니다.그러나 테이블 간에 데이터를 연결하거나 일련화된 데이터에 대해 합계, 카운트 또는 기타 데이터베이스 계산을 수행해야 하는 경우에는 이 작업이 제대로 수행되지 않습니다.그런 경우에는 완전한 테이블과 $wpdb가 제공되는 것이 좋습니다.
( ))get_option()
을 줄 수 때 으로 호환되도록 에서는 최신 버전의 워드프레스에서 코드에 영향을 줄 수 있는 변경사항을 만들었을 때 플러그인이 순방향으로 호환되도록 보장합니다.
본인이 직접 코딩하는 것을 고려하기 전에 도우미를 이해하고 사용하는 것이 좋습니다.
글로벌 $wpdb 변수는 모든 플러그인 테이블을 포함하여 워드프레스의 모든 테이블에서 데이터를 조작하고 검색할 수 있기 때문에 get_option() 함수보다 더 강력합니다.이를 통해 단순히 옵션 테이블에 액세스하는 것보다 더 많은 권한을 얻을 수 있습니다.
플러그인 옵션에 사용되는 옵션 테이블에서 옵션을 구체적으로 검색할 때 get_option()을 사용해야 합니다.이 함수의 다른 변형은 다음과 같습니다.add_option
,update_option
,그리고.delete_option
관련 기능은 모든 관련 기능은 플러그인 옵션에만 사용되어야 합니다.
둘 다 써봤어요.도우미 기능을 사용할 수 있다면 그렇게 해야 합니다.사용자 지정 작업을 수행해야 할 경우 글로벌을 사용할 수 있습니다.쿼리를 직접 작성해야 하는 경우에만 글로벌을 사용합니다.
저는 개발할 때 둘 다 사용합니다.
get_option()
합니다를 물 때 더 .$wpdb
정보다를 하는 데 더 .
및 앤 고 (, ) 에라는 점입니다.get_option()
정말 편리합니다.세련되고 빠르며 사용하기 정말 쉽습니다.
이 에는 get_option()
복합 어레이를 많이 쓰거나 여러 옵션을 추적하지 않고서는 필요한 범용성을 제공하지 못합니다.에 대한 하기 위해,해,$wpdb
훨씬 좋습니다. 자신의 테이블을 구성하고 원하는 대로 정렬/organize할 수 있습니다.
:)
언급URL : https://stackoverflow.com/questions/2017128/wordpress-database-wpdb-versus-get-option
'programing' 카테고리의 다른 글
MVC 웹 API, 오류:여러 매개 변수를 바인딩할 수 없습니다. (0) | 2023.10.04 |
---|---|
jquery UI 테이블과 trwidth로 정렬 가능 (0) | 2023.10.04 |
Spring boot + Hibernate + JPA 트랜잭션 Entity Manager를 사용할 수 없습니다. (0) | 2023.10.04 |
jQuery / Javascript(querystring)를 사용하여 쿼리 문자열 매개 변수 URL 값 가져오기 (0) | 2023.10.04 |
인증되지 않은 사용자가 ASP를 사용하여 특정 페이지에 액세스할 수 있도록 허용합니다.넷폼 인증 (0) | 2023.10.04 |