2011-06-10 7 views
1

Wordpress 및 Moodle과 같은 오픈 소스 PHP 스크립트를 다운로드하여 코드 등을 구조화하는 방법을 연구했습니다. 그러나이 두 스크립트를 모두 살펴보면 항상 데이터베이스 쿼리 (선택, 삽입, 업데이트)를 찾을 수 없습니다. 왜 그들은 그렇게 숨겨져 있고 어떻게 찾을 수 있습니까?오픈 소스 PHP 프로젝트의 데이터베이스 쿼리?

답변

4

실제로는 ORM 레이어를 통해 생성 될 수 있습니다. 어떤 개체 메서드를 통해 쿼리를 생성하는 개체입니다.

+0

재미 있고,이 접근 방법을 배우는 것이 얼마나 어렵고 얼마나 걸릴까요? – ritch

+0

프레임 워크는 이미 ORM 레이어가 많이 있습니다. ZF에는 Zend_Db_Select가 있습니다. 아마도 그 곳을 시작할 수 있습니다. – datasage

0

숨겨진 정보가 없습니다. OOP 방식으로 작성되었습니다.

1

구현에 대한 자세한 내용은 Wordpress에서 /wp-includes/user.php를보십시오. 그들은 충분히 재미있게 :) 낮은 수준의 데이터베이스의 대부분에서 호출 "숨기기", wp-db.php에있어, 워드 프레스에서

$user_nicename_check = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login)); 
1

: 당신은 SQL 문뿐만 아니라이 같은를 처리하는 코드를 볼 수 있습니다 코드는 가능한 한 데이터베이스에서 "비즈니스 로직"을 분리합니다.

이렇게하면 다른 데이터베이스를 다시 코딩 할 필요없이 하나의 데이터베이스를 변경하거나 데이터베이스의 종류를 확인하기 위해 수표로 코드를 낭비하지 않고도 여러 데이터베이스 (또는 다른 저장소) 백 엔드를 지원하는 것이 더 쉬워집니다. 다시 사용하고있어.

대규모 오픈 소스 프로젝트, 특히 OO 프로젝트에서 무슨 일이 벌어지고 있는지 정말로 알고 싶다면 코드를 분석하고 NetBeans와 같은 정의로 이동할 수있는 편집기/IDE를 사용하는 것이 좋습니다. 이것은 종종 파일을 불러올 때 어떤 클래스가 호출되는지를 알아 채지 않고도 (특히 PHP 자동 로딩이 일어나는 경우) 코드를 읽는 것을 더 쉽게합니다.

관련 문제