๊ด€๋ฆฌ ๋ฉ”๋‰ด

C-log

๐Ÿ˜์›น์‚ฌ์ดํŠธ์˜ ๋น„ํ•˜์ธ๋“œ PHP : require ๋ณธ๋ฌธ

DB/๐Ÿ˜PHP

๐Ÿ˜์›น์‚ฌ์ดํŠธ์˜ ๋น„ํ•˜์ธ๋“œ PHP : require

4:Bee 2023. 9. 9. 12:25
728x90

์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ถ€๋ถ„๋“ค์€ ๋ชจ๋‘ ๊ตฌํ˜„ํ–ˆ๋‹ค ํ•˜์ง€๋งŒ ๋น„์Šทํ•œ ์ฝ”๋“œ๋“ค์ด ๊ฒน์น˜๋Š” ๋ถ€๋ถ„๋“ค์ด ๋งŽ์•„ ๋ฆฌํŒฉํ† ๋ง์„ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์•„๋ž˜์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ์–ด๋–ป๊ฒŒ ๋ฆฌํŒฉํ† ๋ง์„ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

print.php

<?php
function print_title()
{
  if (isset($_GET['id'])) {
    echo $_GET['id'];
  } else {
    echo "Welcome";
  }
}

function print_description()
{
  if (isset($_GET['id']) && !$_GET['id'] == '') {
    echo file_get_contents("data/" . $_GET['id']);
  } else if (isset($_GET['id']) && $_GET['id'] == '') {
    echo "Empty description. Retry!";
  } else {
    echo "Hello, PHP";
  }
}

function print_list()
{
  $list = scandir('data'); // ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ์„ list๋ผ๋Š” ๋ณ€์ˆ˜ ์•ˆ์— ๋‹ด์•„ ๋‘”๋‹ค.
  $i = 0;

  while ($i < count($list)) {

    //count ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น list์˜ leng๊ธธ์ด๋ฅผ
    if ($list[$i] != '.') {
      if ($list[$i] != '..') {
?>
        <li><a href="index.php?id=<?= $list[$i] ?>"><?= $list[$i] ?></a></li>
<?php
      }
    }
    $i = $i + 1;
  }
}

?>

bottom.php

</body>

</html>

top.php

<?php
require_once('lib/print.php');
?>
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>
    <?php
    print_title();
    ?>
  </title>
</head>

<body>
  <h1><a href="index.php">WEB</a></h1>
  <ol>
    <?php
    print_list();
    ?>
  </ol>

์œ„์ฝ”๋“œ๋“ค์€ ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ์กด์— ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋“ค์ด ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„๋“ค์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌํ™” ํ•œ ๊ฒƒ์ด๋‹ค. ์ค‘๋ณต๋œ ๋ถ€๋ถ„๋“ค์„ ๋ถ€๋ถ„๋ณ„๋กœ ๋‚˜๋ˆ„์–ด์„œ phpํŒŒ์ผ๋กœ ๊ฐ๊ฐ ์ƒ์„ฑํ–ˆ๋‹ค. 

create.php

<?php
require_once('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')
?>

๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ create.php ํŒŒ์ผ์— ํ•ฉ์นœ ๋ชจ์Šต์€ (index.php ๋“ฑ ๋‹ค๋ฅธ ํŒŒ์ผ๋„ ์œ„์˜ ํ˜•ํƒœ๋ฅผ ๋ณด์ธ๋‹ค.) ์œ„์˜ ๋ชจ์Šต๊ณผ ๊ฐ™๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๊ฐ€ ์ฃผ๋ชฉํ•ด์•ผํ•  ๊ฒƒ์€ require์™€ require_once์ด๋‹ค.

require๊ณผ require_once์˜ ์ฐจ์ด

require์€ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ํ•œ๋ฒˆ์— ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์ค‘๋ณต์œผ๋กœ ์—ฌ๋Ÿฌ๋ฒˆ ํฌํ•จ ํ• ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚ดํฌ ๋˜๊ณ  ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ค‘๋ณต์ด ๋ฐœ์ƒํ•  ์‹œ์—๋Š” ์• ๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ๋  ์ˆ˜ ์žˆ๋‹ค. (create.php์˜ require_once๋ฅผ require๋กœ ํ•ด๋†“์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ๋œ๋‹ค.)

require_once๋Š” ํŒŒ์ผ์„ ํ•œ๋ฒˆ๋งŒ ํฌํ•จํ•˜๊ณ  ์ค‘๋ณต ํฌํ•จ์€ ๋ฌด์‹œ๋œ๋‹ค. ์ฆ‰, require์—์„œ ๋ฐœ์ƒ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์— ์ ํ•ฉํ•˜๋‹ค๋Š”๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด์„œ ์ฝ”๋“œ์—์„œ ๋™์ผํ•œ ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ํฌํ•จํ•  ์ˆ˜ ์žˆ์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ค‘๋ณต์œผ๋กœ ํฌํ•จ๋˜์ง€ ์•Š๊ธฐ์œ„ํ•ด์„œ, ์ค‘๋ณต ํฌํ•จ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” require_once๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

728x90
Comments