< PHP 파일로 모듈화 - require >
리팩토링(refactoring)
: 기능은 그대로 두고 내부적인 코드를 훨씬 보기 좋고 유지 보수하기 편하게 중복된 코드를 제거하는 등의 작업.
라이브러리
(lib 디렉토리
) : 프로그래밍에서 재사용하기 좋도록 코드나 로직을 정리 정돈해놓은 것.
lib 디렉토리 : 재사용할 수 있는 로직
<?php
function print_title(){
if(isset($_GET['id'])){
echo $_GET['id'];
} else {
echo "Welcome";
}
}
function print_description(){
if(isset($_GET['id'])){
echo file_get_contents("data/".$_GET['id']);
} else {
echo "Hello, PHP";
}
}
function print_list(){
$list = scandir('./data');
$i = 0;
while($i < count($list)){
if($list[$i] != '.'){
if($list[$i] != '..'){
echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
}
}
$i = $i + 1;
}
}
?>
<?php
require('lib.print.php');
?>
view 디렉토리
bottom.php
</body>
</html>
<?php require('view/bottom.php'); ?>
top.php
<?php require_once('lib/print.php'); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?php print_title(); ?></title>
</head>
<body>
_once
: 같은 파일 한 번만 포함
require_once('lib/print.php')
: top.php
에서 print_title()
을 lib/print.php
에서 호출한다는 인과관계를 드러내기 위해 작성
<?php
require_once('lib.print.php');
require_once('view/top.php');
?>
include와 require의 차이
include
: 포함할 파일이 없어도 다음 코드 실행
require
: 포함할 파일이 없으면 다음 코드 실행하지 않음