WEB2 - PHP

PHP 파일로 모듈화 - require

수업소개

파일로 코드를 분류해서 정리정돈 하는 방법을 알아봅시다

 

 

 

변경사항

lib/print.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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;
}
}
?>

 

view/top.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
require_once('lib/print.php');
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
<?php
print_title();
?>
</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?php
print_list();
?>
</ol>

 

view/bottom.php

1
2
</body>
</html>

 

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
require_once('lib/print.php');
require_once('view/top.php');
?>
<a href="create.php">create</a>
<?php if(isset($_GET['id'])) { ?>
<a href="update.php?id=<?=$_GET['id']?>">update</a>
<form action="delete_process.php" method="post">
<input type="hidden" name="id" value="<?=$_GET['id']?>">
<input type="submit" value="delete">
</form>
<?php } ?>
<h2>
<?php
print_title();
?>
</h2>
<?php
print_description();
?>
<?php
require_once('view/bottom.php');
?>

 

create.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
require('lib/print.php');
require('view/top.php');
?>
<a href="create.php">create</a>
<form action="create_process.php" method="post">
<p>
<input type="text" name="title" placeholder="Title">
</p>
<p>
<textarea name="description" placeholder="Description"></textarea>
</p>
<p>
<input type="submit">
</p>
</form>
<?php
require('view/bottom.php');
?>

 

update.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
require('lib/print.php');
require('view/top.php');
?>
<a href="create.php">create</a>
<?php if(isset($_GET['id'])) { ?>
<a href="update.php?id=<?=$_GET['id']?>">update</a>
<?php } ?>
<h2>
<form action="update_process.php" method="post">
<input type="hidden" name="old_title" value="<?=$_GET['id']?>">
<p>
<input type="text" name="title" placeholder="Title" value="<?php print_title(); ?>">
</p>
<p>
<textarea name="description" placeholder="Description"><?php print_description(); ?></textarea>
</p>
<p>
<input type="submit">
</p>
</form>
<?php
require('view/bottom.php');
?>

 

댓글

댓글 본문
  1. Cpt.MJ
    I'm here!!
  2. enujo
    23.12.03 리팩토링 중요하다냥
  3. heartsound2
    어렵지만 재미있습니다.
  4. 드림보이
    2022.02.26. WEB2 - PHP - PHP 파일로 모듈화 - require 파트 수강완료
  5. pmxsg
    2022.01.04. 수강
  6. ezorhub
    2021.09.01
    슬슬 코드가 눈에 익어갑니다~
    단어는 다르지만 결국 사용법은 어느 언어든 비슷한 걸 많이 배운 시간이었습니다!
  7. chimhyangmoo
    21.06.03
  8. jwoh
    21-04-25
  9. jeisyoon
    2021.04.14 파일로 모듈화 (Require) - OK
  10. hanel_
    21.2.21
  11. 완료
  12. kkn1125
    21.01.05.화 완료~!
  13. ppwater
    index.php 의 코드를 그대로 복사해서 index2.php 등의 파일을 만들고 코드를 붙여넣기 한 뒤, index.php와 index2.php 를 서로 링크해주면 될 것 같아요
    대화보기
    • 우성짱
      좋아요!
    • siver
      완료
    • クレヨンしんちゃん
      ㅇㄹ
    • 박준영
      200630 완료
    • hpyseun
      05/27/2020 감사합니다
    • 이서연
      완료
    • 아자요
      HTML, Java Script 완강 후 새로운 도전시작

      20.05.13일 / 완료
    • Lucas Trowman
      완료!
    • OneJae EE
      20.04.14 화 / 37세 비전공자 / 완료
    • 스티븐잡숴
      완료
    • moon
      항상 감사합니다.!!
    • 오호
      저렇게 하니 마치 객체지향프로그래밍하는것같네요
    • 햄쮸맨
      오홍홍 깔끔해졌어요!
    • 몽글몽글솜사탕
      감사합니다
    • 서스펜스
      alt+1 alt+2 ... 해보세요
      대화보기
      • 허공
        190507 감사합니다.
      • 우왕 개꿀
      • 추가 강의가 나오면 좋겠다.
        게시판 하나를 만드는 건 이제 이해가 됐는데
        게시판을 여러개 만들려면 어떻게 해야할까요?
      • Lsalute
        2 일만에 완료.. 감사합니다... 저는 기본기가 있어서 금방 여기까지 왔네요... ㅎㅎ...
      • Gihoon Pomme Ryu
        완료. 고맙습니다.
      • 로버트한
        코드가 깔끔해 졌여요^^ 감사합니다.^^
      • 심민섭
        왜냐면 top.php를 그냥 바로 켠것이 아니라 index.php가 있는 곳에서 불러온 셈이기 때문입니다.
        대화보기
        • lib 폴더와 view 폴더의 위치가 달라서 top.php 에서 require 문을 쓸 때 '../lib/print.php' 로 했더니 에러가 나고
          그냥 'lib/print.php' 로 하니 정상실행 되네요.
          path를 따져보면 부모폴더로 올라간 이후 lib 를 지정해주는 게 맞을 것 같은데 말이죠.
          혹시 왜 그런지 이유를 아시는 분 있으신가요?
        • 아톰에 index.php와 update.php 왔다갔다 하는 단축키 뭔지 아시는분 좀 갈켜주세요
        • 제갈량
          모듈을 이용하니
          코드가 확실히 간결해지고
          코드 보기가 상당히 수월해졌네요.
          requure_once를 쓰지 않으면 에러가 난다는 것까지 확실하게 알았습니다.
          감사합니다. ^^
        • Hyun Woo Lee
          중복된 코드들에 대해 정리정돈 된 느낌이 들어서 좋네요.
          소스 가독성 또한 높아진다는..!
        • Mingi Son
          코드가 훨씬 보기 쉬워지네요!! 감사합니다
        • node.js
          require_once 함수를 쓰지 않고 index.php에 top.php를 가져오는 코드를 지우면 중복을 더 줄일 수 있어요
        버전 관리
        egoing
        현재 버전
        선택 버전
        공동공부
        graphittie 자세히 보기