riverlee1132의 공책
[php] 기초 내용 메모 본문
공통
언어에서 문자를 표현하는 기본적인 방법은 '' 또는 "" 안에 문자를 작성하는 것
정수(음수와 양수)는 integer, 산술 연산자(+, -, *, /)는 Arithmetic operator라고 한다
따옴표를 문자로 사용하고 싶다면 백슬래시(\)로 감싼다
모든 프로그램은 시간의 순서대로 실행된다
1. 수업의 목적
PHP를 사용하면 사용자에게는 똑같은 화면이지만, 코드는 훨씬 효율적으로 변한다.
http://111.1.1.1/index.php?id=HTML
http://111.1.1.1/index.php?id=CSS
http://111.1.1.1/index.php?id=JavaScript
index.php라는 하나의 파일로 3개의 웹페이지를 표시한다
?id가 HTML인지, CSS인지, JS인지에 따라서 index.php에서 출력하는 것이 달라진다.
index.php 파일이 데이터를 받아오는 파일에 새 파일을 추가하면 php에 자동으로 반영된다.
PHP 사용 = 효율성, 생산성 향상!
2. PHP 설치
bitnami를 통해 WAMP를 설치 했다면 이미 PHP를 설치한 상태다.
3. PHP의 원리
웹 브라우저 <-> 웹 서버(아파치) <-> php프로그램
코드:
<body>
<?php echo ?>
</body>
파일에서 ?php 는 php 문법이 시작된다는 의미이다
echo는 어떤 형태의 데이터인지 상관 없이 화면에 출력하기 위한 명령
;는 명령 끝
이 내용을 php 프로그램이 해석해서 웹 서버에 돌려주고, 웹 서버는 받은 내용을 브라우저에 출력한다.
html은 정적이며 php는 동적이다.
php 파일 안에 작성은 html 형식으로 틀을 만들고 그 안에 php 문법을 쓴다
4. PHP의 데이터 타입(숫자와 문자)
php는 컴퓨터 프로그래밍 언어이며 프로그래밍 언어를 배우는 이유는 데이터를 어떤 의도에 따라 처리하기 위함이다
기본적으로 php 파일에 데이터를 입력하려면 <?php ?>를 사용한다.
1) 숫자 표현
<?php ?> 안에 아래 내용을 입력한다
출력하기 echo 1; 또는 print(1);
연산하기 echo 1+1;
2) 문자(문자열) 표현 string
따옴표 문자 처리
코드:
<?php echo "Hello \"w\"orld"; ?>
문자의 결합(concatenation operator) dot
코드:
<?php echo "Hello"."world"; ?>
함수를 사용하고 싶다면 echo - 함수 - ("문자") 순서로 작성한다. (예시: 문자 갯수 확인하기)
코드:
<?php echo strlen("Hello world"); ?>
5. 변수(variable)
변수 앞에는 달러($)를 붙인다
코드:
<?php
$a = 10;
echo $a+1;
?>
코드:
<?php
$name = "river";
echo "alphabet a b c d e river f g h i".$name;
?>
출력:
alphabet a b c d e river f g h i
$name의 값을 jellybbi로 바꾸면
출력:
alphabet a b c d e jellybbi f g h i
6. URL 파라미터
모든 소프트웨어들은 그 특성에 따라 입력과 출력이 다르다. php는 데스크탑 어플리케이션을 위한게 아니라 웹 어플리케이션을 위한 언어이다. 브라우저에 뜬 웹 화면 url의 주소에 적혀있는 글자(전세계 공통 규칙)를 활용하여 데이터를 바꿀 수 있다.
url에서 php? 이하 내용은 파라미터라고 부르는 입력값이고 &는 구분자 엔퍼센드
php코드에서는 약속된 특수 변수 $_GET[''];를 사용한다
입력할 값:
address 서울시
name 젤리삐
url주소:
111.0.0.1/parameter.php?name=젤리삐&address=서울시
코드:
안녕하세요. <?php echo $_GET['address']; ?>에 사는 <?php echo $_GET['name']; ?>님
출력:
안녕하세요. 서울시에 사는 젤리삐님
7. 함수
예를 들어 strlen이라는 함수는 작은 프로그램이나 마찬가지이다.
코드:
<?php
$str = "뒷목 아프다";
echo strlen($str);
?>
html에서는 빈행을 입력해도 인식되지 않고 줄바꿈 <br> 태그를 입력해주어야 하지만 php에서는 nl2br 함수를 입력해두면 빈행을 자동으로 줄바꿈을 처리해준다
코드:
<?php
$str = "뒷목 아프다";
echo nl2br($str);
?>
함수 활용
URL의 파라미터 값을 가져오자
코드:
<h2>
<?php
echo $_GET['id'];
?>
</h2>
data 폴더를 만들어 일반 파일로 본문을 넣는다
<?php echo data/id 값에 해당하는 파일의 내용;?>
이 필요하므로
코드:
<h2>
<?php
echo $_GET['id'];
?>
</h2>
<?php
echo
file_get_contents('./data/".$_GET['id']);
?>
https://opentutorials.org/course/3130/19342
이건 이해를 위한 예시고 보안, 규모 문제로 file_get_contents 같은것을 쓰면 안된다
8. 데이터타입2: 불리언과 비교연산자
제어문을 이해하기 위한 필수 선행 정보
문자 string의 데이터 양: 유한
숫자인 integer의 데이터 양: 무한
불리언: 단 두개. true or false
php의 비교연산자: http://php.adamharvey.name/manual/kr/language.operators.comparison.php
유용한 함수 var_dump
이 부분은 영상 봐야함
9. 제어문(조건문, 반복문)
1) 조건문 if / elseif / else if
URL에 ?id값이 없다면 정보A가 나오고 ?id값이 있다면 정보B가 나오도록 만들자
1-1) 형식
if(expr)
참고:
expr 은 expression으로 값이 온다는 의미
코드:
<?php
echo '1<br>';
echo '2<br>';
echo '3<br>';
?>
출력:
1
2
3
2에 불리언 타입(true, false)을 넣어보자
if뒤에 오는 코드가 true라면 첫번째 중괄호를 실행한다
if뒤에 오는 코드가 false라면 else 뒤에 있는 중괄호를 실행한다
-> if 조건문이 제어문인 이유
코드 수정:
<?php
echo '1<br>';
if(false){
echo '2-1<br>';
} else{
echo '2-2<br>';
}
echo '3<br>';
?>
출력:
1
2-2
3
1-2) 활용
만약 id 값이 있다면 echo $_GET['id'];
없다면 echo "welcome";
이걸 코드로 바꾼다
코드:
<h2>
<?php
if(){
echo $_GET['id'];
} else {
echo "welcome";
}
?>
</h2>
'오답노트' 카테고리의 다른 글
| [바닐라JS] 연산자 기본 (0) | 2025.07.19 |
|---|---|
| [바닐라JS] JS가 유저의 행동 여부를 알 수 있는 방법 (0) | 2023.01.30 |
| [CSS] transition (0) | 2023.01.17 |