The PHP Practitioner 01 - Variable / PHP and HTML / Seperate Logic
29 Dec 2019 | Laracast PHPLaracasts - The PHP Practitioner 강의를 듣고 정리한 포스팅 입니다.
1. Variable
php -h #php 관련 명령어 확인가능
php -S <addr>:<port> # built-in web server 실행
php -S localhost:8888
basic formular: $변수명
<?php
$greeting = 'hello universe';
echo $greeting;
<?php
$greeting = 'Hello';
$name = 'Harry Lee';
echo $greeting. ' '. $name;
echo "$greeting, $name";
echo "{$greeting}, {$name}";
2. PHP and HTML
PHP와 HTML을 같이 쓸 경우에는 닫는 태그 ?>
가 반드시 필요함
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset=UTF-8">
<title>Document</title>
<style>
header {
background: #e3e3e3;
padding: 2em;
text-align: center;
}
</style>
</head>
<body>
<header>
<h1><?php echo 'Hello world';?></h1>
</header>
</body>
</html>
p쿼리스트링이 url에 포함되는 경우(http://localhost:8000/?name=harry
)
$_GET
을 사용하여 value값을 갖고 올 수 있음.- 해당 방법은 다음과 같이 확장/활용 가능.
<?php
는<?=
와 같이 shorthand로도 나타 낼 수 있음.
<h1>
<?php
$name = $_GET['name']; # harry
echo "Hello, $name";
?>
</h1>
<h1>
<?php echo "Hello, ". $_GET['name']; ?>
</h1>
<h1>
<?= "Hello, ". $_GET['name']; ?>
</h1>
보안상의 문제? 누군가가 태그 자체를 입력하여 HTML을 수정하려 한다면? (http://localhost:8000/?name=<small>harry</small>
)
Htmlspecialchar()
메서드를 사용
<h1>
<?= "Hello, ". htmlspecialchars($_GET['name']); ?>
// 출력 값: Hello, <small>harry</small>
</h1>
3. Seperate PHP Logic From Presentation
Html: render Page & PHP: connect to DB, Add new data.
따라서 역할에 따라 두개의 파일들을 분리시키는 것이 가장 최적해임.
# index.html
<?php
$greeting = "Hello World";
require 'index.view.php';
<!-- index.view.php -->
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset=UTF-8">
<title>Document</title>
<style>
header {
background: #e3e3e3;
padding: 2em;
text-align: center;
}
</style>
</head>
<body>
<header>
<h1>
<?= $greeting; ?>
</h1>
</header>
</body>
</html>
Comments