1. PHP란 무엇인가? - 서버와 클라이언트의 이해
(생략)
2. PHP의 특성
1) web을 위한 언어, 2) 대부분의 hosting 환경에서 사용 가능, 3) compile이 필요 없는 interpreter 방식
3. PHP 설치하기
- Apache, PHP, MySQL (줄여서 APM)
- 실제 서비스 운영 시에는 직접 설치가 좋으나, 실습환경에서는 Bitnami (WAMP Stack)로 한번에 설치 가능.
- DocumentRoot
- index.html의 특수성
4. 웹호스팅 사용하기
(생략)
5. 설정
5.1 PHP 설정
- con, config, configuration
* 설정파일 변경
- php의 설정파일: php.ini
- 에러출력은 기본적으로 off(보안상의 이유). 개발 시에는 잠시 on으로 설정 후, 개발 끝에 off로.
display_errors = On
- php.ini-development (개발서버 권장용 샘플코드)
- php.ini-production (실서버 권장용 샘플코드)
*운영체제마다 설정파일의 위치나 반영방법이 다름.
5.2 리눅스 설정
5.3 윈도우 설정(Bitnami)
- 설정 php.ini 파일의 정보 수정 후 반영하고 싶으면, apache 웹서버를 재부팅할 것
*유용한 설정
display_errors = On / Off(에러출력)
log_errors = On /Off (에러 내역을 log로 저장)
6. PHP 학습
6.1 나의 첫번째 PHP 어플리케이션
<?php ~~ ?> #php문법으로 시작되고 끝나는 영역임을 알려줌. ?>의 다음은 텍스트로 해석
echo "문자열"; #출력명령어
6.2 서버측 언어를 사용하는 이유
(생략)
7. 숫자와 문자 (데이터형 data type)
7.1 숫자
var_dump(expression); #expression의 데이터가 어떤 형식인지 알려줌
숫자와 숫자를 더하는 연산자 '+'
7.2 문자
문자와 문자를 결합하는 연산자 '.'
ex)
echo "hello"."world";
따옴표 "를 문자로 표시하고 싶을 경우,
1. 문자열을 '문자열'로 감싸기
echo '그는 "안녕하세요 라고 말했다"'
2. \"로 표현
echo "그는 \"안녕하세요 라고 말했다\"";
*역슬래시(\)의 다음 문자는 escaping한다.
8. 변수와 상수, 비교
8.1 변수
- php에서는 변수의 이름을 정의할 때, $변수명 형태를 사용함.
ex) $a=1;
- echo와 print는 동일
- echo "<br />"; #enter
8.2 상수
*사용자 상수 정의 함수
- define();함수
ex) define('TITLE', 'PHP Tutorial'); # TITLE의 값은 PHP Tutorial 이다.
- 당연한 소리지만, 상수에 한번 값을 대입하고 나면, 이후에 중복대입할 시 에러발생.
8.3 고급주제
*변수에 담긴 데이터 형을 검사하고 변경하기
- gettype(); 함수 #데이터의 타입 return
ex) echo gettype($a);
- settype(); 함수 #데이터의 타입을 변경
ex) settype($a, 'double');
*가변변수(variable variables)
ex)
$title = 'subject';
$$title = 'PHP tutorial';
echo = $subject; #PHP tutorial이 출력됨
8.4 비교
- 대입연산자 '='
- 비교연산자 '==', '<', '>', '<=', '>=', '!='
9. 입출력 그리고 form과 http
9.1 입력과 출력
localhost/IO_form/25.php?id=egoing 일때,
(?의 의미는 "주소가 가리키는 값"의 영역의 시작함을 의미)
echo 'Welcome, '. $_GET['id']; # $_GET[ ];은 배열(array), 사용자가 입력한 정보를 출력하는 영역
localhost/IO_form/25.php?id=egoing&password=111111 일때,
(&는 값과 값을 구분하는 구분자)
echo $_GET['id'].','.$_GET['password']; #id인 값과 password인 값을 출력
9.2 HTML form
form: 정보를 서버로 전달하는 편한 방법
텍스트 필드, 체크박스, submit 버튼 등이 있는 화면이 있다고 가정 = 입력컨트롤
* 입력컨트롤을 만드는 방법
<form> </form> 사이의 입력 컨트롤.
<input type="submit" />은 input값들을 전달하는 역할을 수행
submit에 의해 전달된 값은
get으로 2.php에서 동작(action)한다.
9.3 GET 방식 VS POS 방식
10. 조건문
11. 반복문
12. 함수
13. 배열
14. include와 namespace
15. 파일
16. 이미지 다루기
17. PHP와 정규표현식
18. PHP와 데이터베이스
19. PHP와 MySQL 연동
20. 쿠키와 세션
21. PHP 디버깅