
๋ผ์ด๋ธ๋ฌ๋ฆฌ ( Library )
์ง์ญ์ ์๋ ๋ชจ๋ ์ฌ๋์ด A๋ผ๋ ์ฑ ์ด ์๋ค๊ณ ๊ฐ์ ํ์.
๊ทธ๋ผ ๊ฐ์ ์ฑ ์ ๋ชจ๋๊ฐ ๋ค๊ณ ์๋ ๊ฒ์ด ๋ชจ๋๋ฅผ ์ํ ๊ฒ์ผ๊น?
์๋๋ค. ์ธ๊ฐ์ ๊ทธ๋ ๊ธฐ์ ๋์๊ด (Library)๋ผ๋ ๊ฒ์ ๋ง๋ค์๋ค.
๋์๊ด์ ๋ด๊ฐ ์ฑ ์ด ์์ด๋ ๊ทธ ๋์๊ด์ ๊ฐ๋ฉด ์ฑ ์ ์ฝ์ ์ ์๊ณ ์๋ง์ ์ฑ ์ ์ฝ์ ์๋ ์๋ค.
์ฝ๋์ ์์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ ์ํฉ๊ณผ ๊ฐ๋ค.
์ค๋ณตํด์ ์ฌ์ฉ๋๋ ๋ก์ง์
์ฌ์ฌ์ฉ ํ ์ ์๋๋ก
๋ถํํ(๋ชจ๋ํ) ์ํจ ๊ฒ์ด๋ค.
๊ทธ๋ผ ๊ฐ๋จํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ๋ฒ ๋ง๋ค์ด ๋ณด๋๋ก ํ์.
ํ์ฌ ๋ง๋ค๊ณ ์๋ JavaScript์ php ํ์ผ ์ค ์ค๋ณต๋๋ ์ฝ๋๊ฐ ์๋ค.
๊ทธ๊ฑด ๋ฐ๋ก DataBase์ ์ ์์ ํ๋ ์ฝ๋์ธ $conn๋ถ๋ถ์ด๋ค.
ํด๋น ์ฝ๋๋ index.php , write.php , process.php 3๊ฐ์ง ํ์ผ์์ ์ค๋ณต์ ์ผ๋ก ์ฐ์ด๋ ์ฝ๋์ด๋ค.
๊ทธ๋ผ ์ค๋ณต์ ํด๊ฒฐํ ํ์ผ์ libํด๋๋ฅผ ์์ฑํด db.php๋ผ๋ ํ์ผ์ ์์ฑํด์ฃผ๋๋ก ํ์.
db.php์ ๋ค์ด๊ฐ ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ๋ค.
$conn = mysqli_connect('localhost','root','111111');
mysqli_select_db($conn, 'opentutorials');
์ด๋ ๊ฒ ๊ฐ ํ์ผ์ ์ค๋ณต๋๋ ๋ถ๋ถ๋ง libํด๋์ db.php์ php์ฝ๋๋ก ๊ฐ์ ธ์๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ ์ฝ๋๊ฐ ์๋ ๋ถ๋ถ์๋ require์ ์ฌ์ฉํด์ db.php ํ์ผ์ ๊ฐ์ ธ์์ผ ํ๋ค.
require("lib/db.php");
$result = mysqli_query($conn, "SELECT*FROM topic");
์ด๋ ๊ฒ require๋ก ๊ฐ์ ธ์จ ํ์ผ์ ๊ทธ ํ์ผ ์์ ๋ด์ฉ์ด ๋ง์น require์ด ์๋ ์์น์ ์๋ ๊ฒ์ฒ๋ผ ์คํ๋๋ค.
ํ์ง๋ง ์ด๊ฒ์ ๋๊ณ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ํ๊ธฐ๋ ๋ฏผ๋งํ๋ค.
์ด๊ฒ์ ๊ทธ๋ฅ ์ฝ๋์ ์ค๋ณต์ ํด๊ฒฐํ ๊ฒ์ด์ง, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ ์๋ ์๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ ๊ธฐ db.php ํ์ผ์ ๋์ค์ ์ฝ๋๋ฅผ ํ ์ค์ ํจ์๋ก ๋ง๋ค์ด๋ณด์.
function db_init(){
$conn = mysqli_connect('localhost','root','111111');
mysqli_select_db($conn, 'opentutorials');
return $conn;
}
์ด๋ ๊ฒ db_init์ด๋ผ๋ ํจ์๋ก ์๋ ์ฝ๋๋ฅผ ๊ฐ์ธ์ฃผ๊ณ , ์ถ๋ ฅ ๊ฐ์ผ๋ก $conn์ ์ถ๋ ฅํ๊ฒ ํ๋ค.
require("lib/db.php");
$conn = db_init();
$result = mysqli_query($conn, "SELECT*FROM topic");
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด์ ์ฝ๋์ ์ด๋ ๊ฒ $conn = db_init();์ ํ๊ฒ ๋๋ฉด,
์ฐ๋ฆฌ๋ db.php์ ํ๋์ php ํ์ผ์์ db_init์ ํตํด ์ฌ๋ฌ ๋ฒ DataBase ๋ค์ด๊ฐ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๋ํ ํจ์์ ์ฝ๋๊ฐ ๋ง์ฝ 2์ค์ด ์๋, 100์ค 1000์ค์ด ๋ ๋๋ ๊ทธ ํจ๊ณผ๋ฅผ ๋์ฑ๋ ๋ณผ ์ ์๋ค.
ํ์ง๋ง, DataBase์ ์ ์ํ๋ ์์ด๋์ ํจ์ค์๋๊ฐ ๊ผญ root๋ 111111์ด๋ผ๋ ๋ณด์ฅ์ ์๋ค.
๊ทธ๋ ๊ธฐ์ ์์ด๋์ ํจ์ค์๋๊ฐ ํจ์์ ์ ์ ์ผ๋ก ์ ๋ ๊ฒ ์์ ๊ฒฝ์ฐ,
์ฌํ์ฉ์ฑ์ด ๋งค์ฐ ๋จ์ด์ง๋ ์ฝ๋๊ฐ ๋ ์๋ ์๋ค.
๊ทธ๋ ๊ธฐ์ ๋ณ์๋ฅผ ์ฌ์ฉํด ๋ฐ๋ ์ ์๋๋ก ๋ง๋ค์ด์ผ ํ๋ค.
function db_init($host,$duser,$dpw,$dname){
$conn = mysqli_connect($host,$duser,$dpw);
mysqli_select_db($conn, $dname);
return $conn;
}
์ด๋ ๊ฒ ๋งค๊ฐ๋ณ์๋ก ๋ง๋ค๊ณ , db_init์ ํธ์ถํ ๋ ์ธ์ ๊ฐ์ผ๋ก ์ํ๋ ๊ฐ์ ์ ๋ ฅํ๋ฉด ๋๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ์ฝ๋๋ฅผ ๋ณ๊ฒฝ ์, ๋ ๊ณจ์น ์ํ ์ค๋ณต์ด ๋ฐ์ํ๋ค.
index.php, write.php, process.php์์ db_init์ ํธ์ถํ ๋ ๋๊ฐ์ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธ์ ํ๋ฉด์,
๊ณ์ ํธ์คํธ ์ด๋ฆ, ์์ด๋ ์ด๋ฆ, ๋น๋ฐ๋ฒํธ ์ด๋ฆ, DB์ด๋ฆ์ด ์๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ์, ์ด๋ฐ ์ค๋ณต ๋ํ ์ ๊ฑฐํด์ค ํ์๊ฐ ์๋ค.
config๋ผ๋ ํด๋๋ฅผ ๋ง๋ค์ด, conpig.php ํ์ผ์ ๋ง๋ค์ด ์ฃผ๋๋ก ํ์.
conpig.php ํ์ผ์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค.
<?php
$config = array(
"host" => "localhost",
"duser" => "root",
"dpw" => "111111",
"dname" => "opentutorials"
);
?>
์ด๋ ๊ฒ $config๋ผ๋ ๋ณ์์ ๋ฐฐ์ด์ ํํ๋ก ํธ์คํธ, ์์ด๋, ๋น๋ฐ๋ฒํธ, DB์ด๋ฆ์ ๋ด์์ฃผ์๋ค.
๊ทธ๋ฆฌ๊ณ index.php, write.php, process.php์์ config๋ฅผ requir ํด์ฃผ๋ฉด ๋๋ค.
<?php
require("config/config.php")
require("lib/db.php");
$conn = db_init($config["host"],$config["duser"],$config["dpw"],$config["dname"]);
$result = mysqli_query($conn, "SELECT*FROM topic");
?>
๊ทธ๋ฆฌ๊ณ db_init์ ์ธ์ ๊ฐ์ผ๋ก config์์ key๋ค์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ด๋ ๊ฒ ๋ง๋ค์ด ์ฃผ๊ฒ ๋๋ฉด, ๋จ ํ ๋ฒ์ ๋ณ๊ฒฝ์ผ๋ก ๋ชจ๋ php ํ์ผ์์ ์ ์ฉ์ด ๋๋ค.
์ด๋ ๊ฒ requir์ ํตํด ํ์ผ์ ๋ถ๋ฆฌํ๊ณ ์ ์ฉํ๋ฉฐ,
๋ถ๋ฆฌํ ํ์ผ ์์ ํจ์๋ฅผ ๋ง๋ค์ด ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
TwitterBootstrap
์์์๋ ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ฒ ๋ง๋ค์๋ค๋ฉด,
๋ค๋ฅธ ์ฌ๋์ด ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ค์ํ๋ค๊ณ ๋ณผ ์ ์๋ค.
twitterbootstrap์ ํํ์ด์ง๋ ๋ค์๊ณผ ๊ฐ๋ค.
Bootstrap
Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins.
getbootstrap.com
์ด bootstraop ์น์ฌ์ดํธ๋ฅผ ์ฐฝ๋ชจ๋๋ก ํด์ ์ฒ์ฒํ ์ค์ด๋ค ๋ณด๋ฉด ์นดํ ๊ณ ๋ฆฌ๊ฐ ์ฌ๋ผ์ง๊ณ ,
์ 3๊ฐ๊ฐ ๋์ค๋ฉด์ UI๊ฐ ๋ณ๊ฒฝ๋๋ ๋ถ๋ถ์ด ์๋ค๋ ๊ฑธ ํ์ธํ ์ ์๋ค.


์ด๋ ๊ฒ ์น ํ์ด์ง ์์ ๋ด์ฉ์ด๋ ์นดํ ๊ณ ๋ฆฌ ๋ฑ์ด ์ฌ์ฉ์์ ํ๊ฒฝ์ ๋ง๊ฒ ๋ณ๊ฒฝ์ด ๋๋ค.
์ด๋ฌํ ๊ฒ์ TwitterBootstrap์ ํตํด ํ์ฌ ๋ง๋ค๊ณ ์๋ JavaScript์๋ ์ ์ฉ์ ํด๋ณด์.
TwitterBootstrap์ ์ฌ์ฉ๋ฒ์ด ์๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ค์์ฑ์ ์๊ธฐ ์ํจ์ด๋ฏ๋ก,
์ํ์ฝ๋ฉ์ ์๋ ๊ตฌ๋ฒ์ (3.3.4v)์ ๋ค์ด๋ก๋ํ์๋ค.
๋ค์ด๋ก๋ํ bootstrap์ htdocsํด๋์ ์์ถ์ ํด์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ bootstrap์ Gettin started์ Basic template์ ํ์ธํ๋ค.

์ ๋ก์ง์ TwitterBootstrap์ ๊ธฐ๋ณธ์ ์ธ ๊ณจ๊ฒฉ์ด๋ค.
์ ๊ธฐ๋ณธ ๊ณจ๊ฒฉ๊ณผ ์ฌ๋ฌ ๊ฐ์ง TwitterBootstrap์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.




์ด๋ ๊ฒ TwitterBootstrap์ ์ฌ์ฉํ์ฌ ์ผ๋ง๋ ํ์ ์ ์ผ๋ก ๋ ์ด์์๊ณผ ๋์์ธ์ด ๋ฐ๋ ์ง ํ์ธํ ์ ์๋ค.
์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ Library๊ฐ ์ผ๋ง๋ ์ค์ํ์ง๋ฅผ TwitterBootstrap์ ํตํด ๋๊ปด์ผ ํ๋ ๊ฒ์ด๋ค.
์ถ์ฒ: [์ํ์ฝ๋ฉ]์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ
'๐ Web > ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [ํธ์คํ ] (1) | 2022.09.27 |
|---|---|
| ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [์ธํฐ๋ท] (0) | 2022.09.25 |
| ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [๋ณด์] (2) | 2022.09.23 |
| ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [MySQL ์ค์ต] (0) | 2022.09.22 |
| ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [MySQL ์ด๋ก ] (0) | 2022.09.20 |