오늘부터 html, css, javascript, php를 배워보려고 합니다.
학습을 시작한 이유는 웹에 대한 매커니즘을 더 알고싶고 보안기사 공부하며 php언어를 진짜 많이 봤었는데 보면 볼수록 재밌어서 언젠가 꼭 한번 배워보고 싶었기 때문입니다 ㅎㅎ
일단 웹 서버는 우분투 GUI로 설정하였습니다.
책은 즐겨보는 유튜버 생활코딩의 PHP+MYSQL 책을 구매하였습니다. 이 분 정말 잘 가르치십니다 ㅎㅎ
책에서는 윈도우에서 php 환경을 구축하였지만 저는 우분투에 구축을 하였습니다.
ln /etc/php/8.1/apache2/php.ini /etc/php.ini
php 설정파일 심볼릭 링크 생성
php.ini파일에서
display_errors = Off
opcache.enable=0
보안기사 때 배운것들을 실제로 해보니 신기하고 감회가 새롭다 ㅎㅎ
display_errors=Off는 오류 반환 시 어떠한 정보도 주지 않는다는 설정으로 Off로 비활성화
opcache.enable=0은 파일 수정 시 바로 수정을 반영하기 위한 설정
/var/www/html 위치에 index.php 파일 생성
<!DOCTYPE html>
<html>
<body>
<?php
echo date('Y-m-d H:i:s');
?>
</body>
</html>
동작 과정은 웹 서버는 php프로그램에게 요청을 하면 php프로그램은 사이의 내용을 실행한 후 (날짜와 시간으로 출력) 다시 웹 서버에게 반환한다 그리하면 웹 서버는 오직 html언어만을 인식하고 그래도 사용자에게 출력해준다.
<!DOCTYPE html>
<html>
<body>
<h1>Number and Arithmetic Operator</h1>
<h2>1+1</h2>
<?php
echo 1+1;
?>
<h3>2-1</h3>
<?php
echo 2-1;
?>
<h4>2*2</h4>
<?php
echo 2*2;
?>
</body>
</html>
페이지 소스코드에는 php코드가 보이지 않습니다. 왜냐하면 <?php
와 ?>
의 사이에 있는 php코드들은 php 프로그램이 정적인 문자로 바꿔준 후 웹 서버에게 다시 전달함으로써 웹 서버는 있는 그대로 문자만을 보여주기 때문
' (single quoted), " (double quoted)
. (문자 결합 연산자)
<!DOCTYPE html>
<html>
<body>
<h1>string and operator</h1>
<?php
echo "hello \"w\"orld";
?>
<h2>concatenation</h2>
<?php
echo 'hello'.'world';
?>
</body>
</html>
strlen()
echo strlen('hello'.'world');
변수는 항상 앞에 $를 붙입니다.
<!DOCTYPE html>
<html>
<body>
<?php
$a=1;
echo $a+1;
?>
</body>
</html>
만약 sim이라는 단어가 여러번 쓰이고 그 줄의 길이가 몇 천줄의 경우 우리는 sim을 수정하려 할 때 엄청난 고통을 받을것입니다. 그렇기에 $name이라는 변수에 "sim"을 넣어 $name변수로 대체시킨다면 $name의 값만 바꿔주어도 쉽게 수많은 "sim"값을 바꿀 수 있습니다.
hello sim을 출력하는 페이지를 만들었지만 만약 수 많은 사람들의 이름에게 인사하는 페이지를 만들려면 수 많은 페이지를 만들어야 하지만 php를 이용해 하나의 페이지로 파라미터 값을 받아 수많은 사람들에게 인사를 할 수 있습니다
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
hello <?php echo $_GET["name"];?>
</body>
</html>
URL을 보면 name이라는 파라미터에 nam이라는 값을 넣은 경우
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</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>
</body>
</html>
태그 클릭 시 밑에 h2 변환
다음 시간엔 함수에 대해 공부하겠습니다
참고 : 생활코딩 PHP+MySQL