CI 묻고 답하기

제목 config->constants 질문
글쓴이 undefined 작성시각 2015/08/26 16:22:36
댓글 : 7 추천 : 0 스크랩 : 0 조회수 : 19840   RSS
DB 테이블 컬럼이나 이름이 수정되는경우에 model단에 이름 번번히 바꿔줘야되는가 많은데요...

config/constants.php 파일에 

테이블명 , 컬럼명 이런것들을 define으로 정해 놓고 model불러올때나 쿼리 짤때 참조하면 관리가 수월 할거 같은데요..

다른분들은 어떻게 생각하세요????

예를 들어... 

constants.php 파일 안에...

define("CUST_TABLE_NAME" , "tb_cust");
define("CUST_TABLE_COL" , array("a" , "b" , "c" , "d" , "e"));

cost_model.php  파일에는..

$this->db->select(CUST_TABLE_COL[0] , CUST_TABLE_COL[1] , CUST_TABLE_COL[2]);
$this->db->from(CUST_TABLE_NAME");
$this->db->where(CUST_TABLE_COL[1] , "TEST");

$query = $this->db->get();

..
..
..

이런식으로 코딩을 하여 관리를 한다는거죠...

위에 같이 했을경우 문제가 될게 있을까요???
 
 다음글 codeigniter 포럼소스에서 댓글이 안되요!! (2)
 이전글 DB 암호화 저장(OLD_PASSWORD) (2)

댓글

변종원(웅파) / 2015/08/26 17:33:57 / 추천 0
컬럼명 매칭이 안되서 항상 문서나 constants.php를 열어봐야 한다는 것이외에 특별한 단점은 없을 것 같네요.
그리고 배열을 바로 상수로 선언하지 못합니다. (php7부터 가능)
한대승(불의회상) / 2015/08/26 17:35:19 / 추천 0
저의 개인적인 생각으론 테이블명과 컬럼명이 자주 바뀌지 않는다면 별로 수월해 보이지 않습니다.

시간이 조금 지나서 define 해놓은 규칙이 생각나지 않으면 매번 config/constants.php를 열어놓고 대조하면서 봐야 할겁니다.
$query = $this->db->select('a,b,c')->from('tb_cust')->where('b', 'test')->get();
컬럼명과 테이블명을 직접 기술 했을때와 비교하면 그 차이는 더욱 커질겁니다.
 
하늘치 / 2015/08/26 17:44:09 / 추천 0
flexi-auth 에서 비슷한 걸 본 것 같습니다.
하늘치 / 2015/08/26 17:48:34 / 추천 0
undefined / 2015/08/26 17:51:47 / 추천 0
//변종원// //한대승// //하늘치// 답변 감사합니다..

고민이 해결되는것 같네요..ㅎㅎ 

Model명이나 , 테이블명정도는 만들어놔도 문제없을듯 싶네요...

지금 버전업 준비하면서 데이터베이스 안에 구조도 많이 변경되는 부분때문에 저런 고민하게 되었습니다..

 
undefined / 2015/08/26 17:56:41 / 추천 0
flexi-auth 요건 정말 어렵네요..;; 복잡해서 사용하기 힘들듯..ㅠㅠ
들국화 / 2015/08/27 12:39:32 / 추천 0
디비구조로 모델을 만들어주는 라이브러리들이 있습니다.
한 10여년 전에도 비슷한걸 만들어 봤고요.
제생각에는 별로 유용할것 같지 않네요. 다시 뒤져야 하는 불편함도 있고 상수를 따로 설정하면 메모리도 더 잡아 먹고 구지 상수로 할 필요가 있을까 모르겠네요.
배열 상수를 선언하려면 serialize를 해서 선언해야 할거에요.