일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- THM
- php To Do List
- active reconnaissance
- Server Side Request Forgery
- sql injection
- Cryptography
- over the wire
- php 로그인 페이지 만들기
- file upload
- Cookie
- Authentication
- access control
- War Game
- php login page
- php file upload
- php
- active recon
- FTZ
- overthewire
- 파일 업로드 취약점
- Recon
- php 파일 업로드하기
- BANDiT
- privilege escalation
- OS Command Injection
- tryhackme
- ssrf
- Reconnaissance
- Leviathan
- SQLi
- Today
- Total
R's Hacking Daily Log
php 함수 (1) 본문
Step 1 :: 함수 알아보기
함수란 간단히 말해 특정 기능을 수행하는 코드 모음집으로
여러 번 사용되는 코드를 묶어서 함수로 정의하면 코드도 간결해지고 수정 및 유지보수도 간편해진다.
함수는 프로그래밍에서 필수적으로 알아야 하는 부분인 만큼 그 구조와 활용 형태가 어떤지 살펴보도록 하자.
<?php
function FUNCTION_NAME() {
# 수행할 코드
}
함수는 function keyword를 앞에 붙임으로써 정의한다.
function keyword + 함수명 + 괄호 () + 중괄호 {} 순으로 작성하면 된다.
제어문에서와 동일하게 실행할 코드는 중괄호 안에 기술한다.
매개변수를 사용할 경우에는 괄호 안에 매개 변수명을 나열하며 함수의 결과를 "반환"하는 경우에는
중괄호 안에서 return keyword를 사용할 수 있다.
함수를 정의한 다음, 사용하기 위해서는 함수명으로 "호출"하면 된다.
함수 호출은 "xx 함수! 너 동작해라"라고 말하는 의미이다.
<?php
function hello() {
echo "hello";
}
hello()
예를 들어 hello 문구를 출력하는 hello 함수가 있다고 할 때
이 함수를 실행하기 위해서는 간단히 hello()라고 함수명을 써주기만 하면 함수가 호출된다.
만약 인수를 사용하는 경우에는 괄호 안에 인수를 적어주면 끝!
** 매개변수란
함수를 호출할 때 전달된 값을 받는 변수를 얘기한다.
함수를 정의할 때, 괄호 안에 작성하는 변수를 매개 변수라고 할 수 있다.
** 인수란
함수를 호출할 때 전달되는 값이다.
함수를 호출할 때, 괄호 안에 전달되는 값을 인수라고 할 수 있다.
지금은 함수에 대한 전반적인 개념을 설명하는 부분이기 때문에
이해가 잘 안 가더라도 일단은 넘어가도록 하자. (step2에서 예제 코드를 살펴볼 예정)
Step 2 :: 함수 활용하기
Step 1에서는 함수가 무엇인지, 알아둘 만한 개념 위주로 살펴보았다.
Step 2에서는 함수가 어떤 형태로 사용되는지, 함수 정의 형태가 어떻게 조금씩 다른 지 알아보자.
문구를 출력하는 함수를 정의하고 싶다는 가정 하에 함수를 만들어볼까 한다.
첫 번째 함수 sayBye()는 ByeBye 문구를 출력한다.
위에서 살펴봤던 형태와 동일하기 때문에 그나마 눈에 익은 함수의 모습일 것이다.
sayBye()로 함수가 호출되면 echo 함수가 동작하여 문구를 출력하게 된다.
두 번쨰 함수 sayHello()는 Hi Hello 문구를 출력한다.
이번엔 매개 변수 $str을 활용하여 함수가 호출될 때 사용된 인수값을 출력하는 형태로 함수가 정의된 걸 볼 수 있다.
이때 위에서도 말했듯이 sayHello()로 함수가 호출될 때 전달된 값 "Hi~ Hello"가 인수이고
함수 정의에서 괄호 안에 작성된 $str이 매개변수이다.
매개 변수는 함수를 호출할 때 전달된 인수를 받는 역할로 함수 내에서 사용할 수 있는 변수이다.
따라서 두 번째 함수는 매개 변수 값을 그대로 출력하는 함수인 것!
세 번째 함수 sayGoodnight()는 $str 값을 반환하는 함수이다.
이 함수는 함수 내에서 $str 변수에 "Good night" 문자열을 할당하고 그 값을 return 하고 있다.
return keyword는 "함수가 끝날 때 결과를 남겨줘라"는 의미로 함수의 결과를 얻고자 할 때 사용하면 된다.
네 번째 함수 introduce()는 두 개의 매개 변수를 가지는 함수이다.
매개 변수 값을 이용해 문구를 출력하는 역할을 한다.
앞에서는 매개 변수가 하나인 경우를 살펴봤는 데, 이처럼 매개 변수를 두 개 이상 사용하고자 한다면
괄호 안에 콤마로 구분해 나열해 주면 그만이다.
지금까지 "문구를 출력하는 함수"를 서로 다른 형태로 구현한 예시를 살펴보았다.
동일한 기능을 수행하는 함수라고 하더라도 다양한 형태로 정의될 수 있고
그 안에서 매개 변수의 유무, return의 유무 등 차이가 존재할 수 있다는 걸 알고 넘어가도록 하자!
'PHP' 카테고리의 다른 글
php 함수 (3) (0) | 2023.07.06 |
---|---|
php 함수 (2) (0) | 2023.07.05 |
php 반복문 다루기 (0) | 2023.07.04 |
php 조건문 다루기 (0) | 2023.07.03 |
php 연산자 다루기 (2) (0) | 2023.07.02 |