코딩의 발전 과정 - 중복의 제거


1. 유지보수의 편의성

2. 코드의 감소

3. 가독성 향상


소프트웨어에 있어서 코드란?


코드 == 설계도 -> false

코드 == 제품 -> true


곧 중복제거는 생산성의 향상을 뜻하고, 중복을 제거되면 재사용 가능성이 높아지고 이를 통해 또 중복 제거가 용이하게 된다.


라이브러리란? - 집집마다 있는 책장을 합친 공동의 도서관 역할


중복해서 사용하는 로직을 재사용 할 수 있도록 부품화(모듈화) 시킨 것


-> 하나의 프로젝트에서 재사용 -> 자신의 프로젝트에서 재사용 -> 모두의 프로젝트에서 재사용



index.php , write.php, process php 에서 중복되는 코드


$conn = mysqli_connect('localhost', 'root', 'minu1312');

mysqli_select_db($conn, 'opentutorials);


발견, 이를 따로 분리하여 lib/db.php 에 담도록 하고 각 php에는 저 코드를 제거하고


require("lib/db.php"); 을 넣는다.


-> 해당 PHP파일이 구동하기 위해서는 ()의 lib/db.php를 불러와야 한다.




BUT 


1) 예제는 2줄이지만 라이브러리 기능을 하는 코드들이 1000줄이라면? -> 한줄로 줄여서 표현 -> 함수에 담는다.


2) localhost, root 등등 고정값은 재사용의 기능을 떨어뜨리기 때문에 고정값을 변수값으로 준다.


function db_init($host, $duser, $dpw, $dname) {


$conn = mysqli_connect($host, $duser, $dpw');

mysqli_select_db($conn, $dname);


return $conn;

}


?>


-> 데이터베이스 호스트이름,유저,비밀번호,데이터베이스이름에 변수를 주고 함수의 디비 접속(커넥션)할 때 받은 정보 $conn을 리턴 값으로 받는다.





index.php , write.php, process php 에


require("lib/db.php"); 

$conn = db_init()   ---> 추가



-> require 함수를 통해 lib/db.php 의 내용 확인을 하여, db_init 함수 존재를 확인하고, 그 함수의 내용을 파악한다. 

db_init() 함수를 사용하고 $conn으로 리턴한다. 



db_init(); -> 데이터 베이스, 접속 선택하는 작업을 라이브러리화 한 것



$conn = db_init('localhost', 'root', 'minu1312','opentutorials');



-> 3개의 php에 데이터베이스 접속 정보를 모두 써 넣으면 중복이 발생한다! -> 중복을 제거하기 위해 cofing.php에 접속 정보를 따로 분리하는 작업 실시


config -> 어떤 에플리케이션이 동작하는 기본 방법을 바꿀 수 있는 것



config.php 내용


<?php


$config = Array(


'host'=>'localhost',

'duser'=>'root',

'dpw'=>'minu1312';

'dname'=>opentutorials'


)


?>



index.php , write.php, process php 에


require("config/config.php"); -> 추가

require("lib/db.php"); 

$conn = db_init($config['host'],$config['duser'],$config['dpw'],$config['dname']);


-> 1. 디비 접속 정보를 담고 있는 config.php 파일 요청

    2. 디비 접속 선택 라이브러리가 들어 있는 db.php 파일 요청

    3.  config.php에 있는 디비 접속 정보를 db_init 함수 값의 각 변수에 적용해서 디비에 접속하는 함수 실행하고 그 리턴 값은 $conn에 담는다.



결론


1. 각 작업 파일에서 중복되는 로직을 분리하여 하나의 라이브러리를 만들어 두면 필요할 때마다 라이브러리를 불러다 쓸 수 있다-> 중복의 제거와 재사용성 증가를 통한 효율성 증가


2. config.php에 접속 정보를 따로 담아두면, 


다른 호스트, 다른 이름, 패스워드를 가진 데이터베이스 접속이 필요한 경우 config.php 파일 내용만 바꿔서 나머지를 재사용 할 수 있다!







 




'프로그래밍 > 코딩야학' 카테고리의 다른 글

데이터 보안  (0) 2017.06.20
관계형 디비 이론, 실습  (0) 2017.06.20
데이터베이스 실습  (0) 2017.06.19
데이터 베이스  (0) 2017.06.19
PHP 실습  (0) 2017.06.16
복사했습니다!