๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
PHP

php ๊ธฐ์ดˆ (์ƒํ™œ ์ฝ”๋”ฉ)

by abkorc33 2023. 1. 19.

๐Ÿ“–์ƒํ™œ์ฝ”๋”ฉ php ์ˆ˜์—… ๊ธฐ๋ฐ˜ ๋ฉ”๋ชจ

๐Ÿ“šPHP๋ž€?


์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ
php๋Š” server side script (technology)
์„œ๋ฒ„ ์ธก๋ฉด ์–ธ์–ด,๊ธฐ์ˆ 

server client
์ธํ„ฐ๋„ท๊ณผ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค๋ฉด ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ด€๊ณ„๋ฅผ ๋งบ๊ฒŒ ๋˜์–ด์žˆ๋‹ค.


๐Ÿ“Œ๊ธฐ์ˆ 

1. ๊ธฐ์ˆ  ์ „์ฒด๋ฅผ ์•„์šฐ๋ฅด๋Š” ๊ฐœ๋…
2. ๊ฐ๊ฐ์˜ ๊ธฐ์ˆ ์„ ์กฐ์ข…ํ•˜๊ณ  ์žˆ๋Š” ๋ถ€ํ’ˆ (apache, IIS) (PHP or PYTYON or JAVA) (MySQL, oracle)
๋ถ€ํ’ˆ๋“ค์„ ์ด์–ด์ฃผ๋Š” ๊ฒŒ ํ”„๋ ˆ์ž„(๋ผˆ๋Œ€), ์„œ๋ฒ„๋ฅผ ์ด๋ฃฌ๋‹ค.

์„œ๋ฒ„ - ์ œ๊ณต, ์š”์ฒญ์— ์‘๋‹ต, ์›น์„œ๋ฒ„
apache(์‚ฌ์šฉ๋นˆ๋„๋†’์Œ), IIS(๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ), nginx(์‹ ํฅ์›น์„œ๋ฒ„)
ํด๋ผ์ด์–ธํŠธ - ์š”์ฒญ, ์›น ํด๋ผ์ด์–ธํŠธ(๋„๋ฉ”์ธ์„ ์ณ์„œ ์›น์‚ฌ์ดํŠธ ์ ‘์† -> ์›น์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด์— ์š”์ฒญ)
firefox, safari, chrome

CGI common gateway interface

(์„œ๋ฒ„์ธก)์›น์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ์ •๋ณด๋ฅผ PHP ์—”์ง„์— ์ฒ˜๋ฆฌ๋ฅผ ๋งก๊ธด๋‹ค. (phpํ™•์žฅ์ž๋กœ ์š”์ฒญ ์˜ฌ ์‹œ)
-> ํ†ต์‹  ๊ทœ์•ฝ


๐Ÿ“šPHP?

์ฃผ๋กœ HTML ์ฝ”๋“œ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ์ƒ์„ฑ
์„œ๋ฒ„์ชฝ์—์„œ ์‹คํ–‰ ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
Personal Home Page Tools ์˜ ์•ฝ์ž์—์„œ PHP:Hypertext Preprocessor ๋กœ ์˜๋ฏธ๊ฐ€ ๋ณ€๊ฒฝ ๋˜์—ˆ๋‹ค.

์‚ฌ์ดํŠธ ์šด์˜์ž๊ฐ€ html๋Œ€์‹  php๋กœ ์ž‘์„ฑํ•ด์„œ ๋„˜๊ธฐ๋ฉด 
php๋Š” ์‚ฌ์šฉ์ž ๋Œ€์‹ ์— ์ปจํ…์ธ ๋ฅผ html๋กœ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค.
->์šด์˜์ž๋Š” ์ปจํ…์ธ ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


โœ”๏ธPHP ํ™˜๊ฒฝ์„ค์ • 

php.ini
display error ==> on
PHP.iniํŒŒ์ผ์—์„œ ์—๋Ÿฌ๋ฉ”์„ธ์ง€ ์„ค์ •์ด ๊ธฐ๋ณธ์ ์œผ๋กœ off๋˜์–ด์žˆ๋Š” ์ด์œ ?
์—๋Ÿฌ๋ฉ”์„ธ์ง€๊ฐ€ ์šฐ๋ฆฌ ๋ˆˆ์— ๋ณด์ธ๋‹ค? ์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ์ž ๋ˆˆ์—๋„ ๋ณด์ธ๋‹ค.
->์‹ค์ œ ์„œ๋น„์Šค ํ•  ๋•Œ ๊บผ์•ผ๋จ

opcach ==> 0
PHP์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์„ค์ •
์บ์‹œ ์ผœ์ ธ์žˆ์œผ๋ฉด ์ˆ˜์ • ๋ฐ˜์˜์ด ๋А๋ฆฌ๋‹ค.

๋น„ํŠธ๋‚˜๋ฏธ ๋งค๋‹ˆ์ € ํˆด ์ผœ์„œ
manage server์— apache ๋ฆฌ์Šคํƒ€ํŠธ ํ•ด์•ผ
๊ทธ๋•Œ iniํŒŒ์ผ์„ ์ฝ์–ด์„œ ๋ฐ˜์˜ํ•œ๋‹ค.


๐Ÿ“šPHP์˜ ์›๋ฆฌ

HTML ์€ ์ •์ ์ด์ง€๋งŒ, PHP๋Š” ๋™์ ์ด๋‹ค.
PHP๋Š” ์‹œ์ž‘<?php ๊ณผ ๋ ?>์„ ์•Œ๋ฆฌ๋Š” ๊ธฐํ˜ธ๊ฐ€ ์žˆ๊ณ  ๊ทธ ์•ˆ์—๋Š” PHP ๋ฌธ๋ฒ•์ด ๋“ค์–ด์žˆ๋‹ค.
์›น์„œ๋ฒ„๋Š” PHP ํŒŒ์ผ์„ ๋ฐ›์œผ๋ฉด ์ž์‹ ์ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Œ์„ ์•Œ๊ณ  PHP ํ”„๋กœ๊ทธ๋žจ์— ์œ„์ž„์„ ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  PHP ๋ฌธ๋ฒ•์— ๋”ฐ๋ผ ํ•ด์„ํ•œ ๋’ค ๊ทธ ๊ฒฐ๊ณผ๋งŒ์„ HTML๋กœ ๋งŒ๋“ค์–ด์„œ ๋ณด๋‚ด์ค€๋‹ค.

 

 

test.php

<?php
phpinfo();
?>

ํ•ด๋‹น ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉด php์‹ค์Šต ๊ฐ€๋Šฅ

 

 

 

number.php

<!DOCTYPE html>
<html>
    <body>
        <h1>Number & Operator</h1>
        <h2>1+1</h2>
        <?php
        echo 1+1;
        ?>
        <h2>2-1</h2>
        <?php
        echo 2-1;
        ?>
        <h2>2*2</h2>
        <?php
        echo 2*2;
        ?>
        <h2>4/2</h2>
        <?php
        echo 4/2;
        ?>
    </body>
</html>

echo => ์›น์— ๋ฌธ์ž๋‚˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๋Š” ์—ญํ• (๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด์™€ ๋™์ผ?)

 

 

 

string.php

<!DOCTYPE html>
<html>
    <body>
        <h1>String & String Operator</h1>
        <?php
            echo "Hello \"w\"orld";
            // echo "Hello 'w'orld";
            // echo 'Hello "w"orld";
            // ์—ญ์Šฌ๋ž˜์‹œ " ์‚ฌ์šฉ์‹œ ๊ธฐ์กด์˜ ๊ธฐ๋Šฅ์€ ์—†๊ณ  ๋‹จ์ˆœ ๋ฌธ์žํ˜•ํƒœ๋กœ๋งŒ ์กด์žฌ
        ?>
        <h2>concatenation operator</h2>
        <?php
            echo "Hello "."world";
        ?>
        <h2>String length function</h2>
        <?php
            echo strlen("Hello world");
        ?>
    </body>
</html>

echo "hi" . "hello"; ๋ฌธ์ž์—ด ์‚ฌ์ด์— . ์€ concat๊ธฐ๋Šฅ์„ ํ•œ๋‹ค. ๋ถ™์–ด์„œ ์ถœ๋ ฅ๋จ

strlen() => php string length ์•Œ์•„๋‚ด๋Š” ํ•จ์ˆ˜

๋งŒ์•ฝ strlen() ํ•จ์ˆ˜์— ์˜๋ฌธ์ž๋งŒ์ด ์•„๋‹Œ ํ•œ๊ธ€์ด ํฌํ•จ๋œ ๋ฌธ์ž์—ด์ด ์ „๋‹ฌ๋˜๋ฉด, ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด์˜ ์ด ๋ฐ”์ดํŠธ(byte) ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

๋”ฐ๋ผ์„œ ํ•œ๊ธ€์ด ํฌํ•จ๋œ ๋ฌธ์ž์—ด์˜ ์ •ํ™•ํ•œ ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” mb_strlen() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ

 

 

 

variable.php

<!DOCTYPE html>
<html>
<body>
    <h1>Variable</h1>
    <?php
    $name = "egoing";
    echo "Lorem ipsum dolor ".$name." sit amet consectetur 
    adipisicing elit. ".$name." Tenetur consequatur quas 
    voluptatem? Molestiae eum dolorem ".$name." magnam officiis, 
    non odio quaerat autem aliquam eligendi? Excepturi, 
    aliquid corporis dignissimos minus soluta ".$name." explicabo."
    ?>
</body>
</html>

$name = "hi";

php์˜ ๋ณ€์ˆ˜ ์ •์˜

 

 

parameter.php

<!DOCTYPE html>
<html>
<body>
   ์•ˆ๋…•ํ•˜์„ธ์š”. <?php echo $_GET['address']; ?>์— ์‚ฌ์‹œ๋Š”
    <?php echo $_GET['name']; ?>๋‹˜ 
</body>
</html>

url ํŒŒ๋ผ๋ฏธํ„ฐ ํ™œ์šฉ

parameter.php ๋์— ?๋ณ€์ˆ˜๋ช…="๊ฐ’" & ๋ณ€์ˆ˜๋ช…="๊ฐ’" ํ˜•์‹์œผ๋กœ url์ž…๋ ฅ์„ ํ†ตํ•ด ์›น์— ์ถœ๋ ฅ

 

 

 

index.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <h1>WEB</h1>
        <ol>
            <li><a href="index.php?id=HTML">HTML</a></li>
            <li><a href="index.php?id=CSS">CSS</a></li>
            <li><a href="index.php?id=JavaScript">JavaScript</a></li>
        </ol>
        <h2>
            <?php
            echo $_GET['id'];
            ?>
        </h2>
        Lorem ipsum dolor sit amet consectetur 
        adipisicing elit. Sint alias fuga natus aperiam 
        qui quas accusantium quia atque, voluptatum ea minus 
        consequuntur. Quas minima nesciunt voluptas ducimus 
        dolorem ipsum fuga!
    </body>
</html>

echo $_GET['id']; ๋ฅผ ํ†ตํ•ด aํƒœ๊ทธ์— id์„ค์ •ํ•œ ๊ฐ’์„ ํด๋ฆญ ์‹œ h2ํƒœ๊ทธ์˜ ์ œ๋ชฉ์ด ๋ฐ”๋€๋‹ค. (url๋„ ๋ฐ”๋€œ)

 

 

function.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>function</title>
</head>
<body>
    <h1>fuction</h1>
    <?php
    $str = "Lorem ipsum dolor sit amet consectetur 
    adipisicing elit. Autem voluptatum quidem natus 


    vitae sapiente asperiores adipisci, animi nobis 
    maxime omnis corrupti! Quaerat expedita ab 
    tempora sit quia at, autem velit.";
    echo $str;
    ?>

    <h2>strlen()</h2>
    <?php
    echo strlen($str);
    ?>

    <h2>nl2br</h2>
    <?php
    echo nl2br($str);
    ?>
</body>
</html>

<?php
$str = "hi"; // php์˜ ๋ณ€์ˆ˜ ์ •์˜
echo $str;
echo strlen($str) // ๋ณ€์ˆ˜ $str์˜ ๋ฌธ์ž ๊ธธ์ด๋ฅผ intํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ํ™”๋ฉด์— ๋ณด์—ฌ์ค€๋‹ค.
?>

nl2br()
๋ฌธ์ž์—ด์˜ ๋ชจ๋“  ์ค„๋ฐ”๊ฟˆ ์•ž์— HTML ์ค„๋ฐ”๊ฟˆ ํƒœ๊ทธ๋ฅผ ์‚ฝ์ž…

 

'PHP' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

PHP ํŒŒ์ผ๋กœ ๋ชจ๋“ˆํ™”  (0) 2023.01.24
PHP CRUD ๊ธฐ์ดˆ  (0) 2023.01.24
PHP ๊ธฐ์ดˆ4  (0) 2023.01.20
PHP ๊ธฐ์ดˆ3  (0) 2023.01.20
PHP ๊ธฐ์ดˆ2  (0) 2023.01.19

๋Œ“๊ธ€