주제: mysql 부분만 클래스화 시켜보았습니다.
[파일이 올라가는지 확인이 안되어서(또는 사용할줄 모르거나) 영자님에게 이메일로 보냈습니다.]
하루종일 삽질해서 mysql 부분만 클래스화 시켜보았습니다.
이것은 추후 db만 다른것으로 바꿀 가능성과
가독성 및 추후 프로시저를 쓸 경우를 대비하기 위함입니다.
더 큰 목적은 운영진에게 db부분의 클래스를 강제하기 위한 압박^^이라고 볼 수 있습니다.
setup.php만 건드리지 않았고 전체적으로 다 소스가 건드려진 상태입니다.
설치하면 기본 시스템은 원본대로 돌아가나..다른 개발자가 만든 플러그인은 손을 보셔야 합니다.
뭐 2가지만 하시면 됩니다.
함수내에 global $_tdb 삽입, 데이타베이스를 콜할때는 $_tdb->함수면 이런식으로 교체
삽질 순서...
1. eolin.php.core의 class DBQuery, class TableQuery 를 mysql.php로 이동
추후 다른 database를 지원할 경우 데이타베이스이름.php를 인클루드하기 위함...
2. DBQuery 클래스를 ydb 클래스로 이름변경
midas라는 평션추가 database.php를 보면 $_tdb=& ydb::midas() 로 한번호출
함수내에서 사용하기 위해서는 global $_tdb 정의하면 됨
각종 함수내에서서는 $_tdb->query($sql) 이런식으로 호출됨...
함수로 제공되던 것을 클래스내로 흡수
fetchQueryRow
mysql_lesson 을 이름변경하여 흡수 lessen
mysql_affected_rows -> affected_rows
mysql_tt_escape_string -> tt_escape_string
mysql_multi_query(그대로 사용)
escapeMysqlSearchString(그대로 사용)
mysql_free_result -> close(& $result) 변수를 넘겨줄때 포인터를 넘겨줌
mysql_result -> myresult
doesExistTable(그대로 사용)
mysql_num_rows -> num_rows
mysql_fetch_array -> fetch_array
mysql_fetch_assoc -> fetch_assoc
mysql_fetch_row -> fetch_row
추가된 함수
executeid insert후 프리마리키값 반환
executerows 실행후 처리된 레코드수 반환
이선경 (2007-07-08 19:56:20)에 의해 마지막으로 수정