riverlee1132의 공책

[php] 기초 내용 메모 본문

오답노트

[php] 기초 내용 메모

1132 2023. 3. 21. 11:12

 

공통

언어에서 문자를 표현하는 기본적인 방법은 '' 또는 "" 안에 문자를 작성하는 것

정수(음수와 양수)는 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