1. HTML, CSS, JavaScript, jQuery : 브라우저에서 해석되는 언어
2. php or node.js : 서버측에서 해석되는 언어(웹 서버 프로그램)
3. 아파치 서버, PHP 다운
: 다운로드 파일은 수업에서 제공
** 제공받은 압축파일을 풀고 c 드라이브 이동
1) 아파치 서버 설치
: Apache24 > conf > httpd.conf(아파치 설정 파일) 수정
> 윈도우 로고 + Pause 단축키 이용, 시스템 > 고급 시스템 설정 > 환경변수 > 시스템변수, Path 선택 후 편집 클릭
> 새로 만들기 클릭 후 C:\Apache24\bin 추가
> 확인 > 확인 클릭
> 명령 프롬프트 관리자 권한으로 실행 > httpd -k install > 보안경고, 엑세스 허용 클릭 > httpd -k start
> 아파치 서버 설치 완...!
2) PHP 다운로드
: php.ini(PHP 설정 파일)에서 extension=mysqli 주석 해제
> Apache24 > conf > httpd.conf(아파치 설정 파일) 수정
> Apache2.4 서비스 중시 후 시작
> PHP 설치 완...!
4. PHP
: 웹에서 서버를 연동하여 실행하는 Server-Side-Script 언어
** 특징
웹서버(아파치)에서 해석되는 스크립트 언어
데이터 베이스와 연동을 편하게 할 수 있음
거의 모든 운영체제에서 개발이 가능
속도가 매우 빠름
파일 업로드, 메일 전송 등 많은 기능을 자체적으로 지원
대용량 트래픽에 대한 처리가 잘 되어 있지 않음 > 트래픽이 몰리면 성능이 떨어짐
(따라서, 대용량 사이트나 국가 단위의 사이트에는 적합하지 않음)
간단하고 트래픽이 적은 사이트에는 적업한 언어 [TMI] 네이버 초창기 때 사용했던 언어
5. PHP 문법
<?php 시작하고 ?> 끝남
PHP 명령문 문장의 끝을 세미콜론(;)으로 끝남
HTML 문서의 영역 어디든 작성할 수 있음
주석은 작성자나 다른 개발자가 나중에 코드를 수정할 때 참고 할 수 있으며 웹 페이지 디버깅에 활용됨
또한, 클라이언트 브라우저에서 확인할 수 없음(여러 줄 : /* */, 한줄 : //)
HTML 스트림에 문자열을 출력하기 위해 echo() 함수를 사용
** 클라이언트 브라우저에서 PHP 소스 코드를 볼 수 없다는 점 예시
** 1_echo.php
<?php
/*
2021-01-16
작성자 : 샤인
echo() 함수 예제
*/
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>echo() 함수</title>
</head>
<body>
<h2>echo() 함수</h2>
<?php
echo("<p>안녕하세요.</p>");
echo("<p>PHP는 영역이 자유로워 어디서든 코드 작성이 가능합니다.</p>");
?>
</body>
</html>
<?php
echo("<p>PHP 영역의 마지막 부분입니다.</p>");
?>
6. localhost/day1/1_echo.php → 경로 입력하기 매우 힘들다.
경로 작성 없이 편하게 들어가기 위해서는 index.html을 삭제하면 된다.
7. PHP 변수
$변수이름; // 변수 선언
$변수이름 = 값; // 변수의 초기화
** 2_variable1.php
<?php
$name = "김사과";
$age = 20;
$job = "학생";
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수 - 1</title>
</head>
<body>
<h2>변수 - 1</h2>
<?php
echo("<h3>".$name."님 안녕하세요.</h3>");
?>
<p>나이 : <?=$age?></p>
<?php
echo "<p>{$name}님의 직업은 {$job}입니다.</p>";
?>
</body>
</html>
8. PHP 변수의 종류
1) 지역 변수
함수 내부에서 선언된 변수는 오직 함수 내에서만 사용할 수 있다.
함수 내부에서 선언된 변수는 함수의 호출이 종료되면 메모리에서 제거된다.
2) 전역 변수
함수 밖에서 선언된 변수는 함수 밖에서만 사용할 수 있다.
함수 밖에서 선언된 변수를 함수 내부에서 사용하려면 global 키워드를 함께 사용해야 한다.
3) 정적 변수
함수 내부에서 static 키워드로 선언된 변수를 의미한다.
함수 내부에서 선언된 정적 변수는 함수의 호출이 종료되더라도 메모리상에서 사라지지 않는다.
4) 슈퍼 글로벌 변수
미리 정의된 전역 변수인 슈퍼 글로벌 변수를 제공한다.
특별한 선언 없이 스크립트 내의 어디에서라도 바로 사용할 수 있다.
$_GET, $_POST, $_COOKIE, $_SESSION ...
9. PHP 함수
function 함수명(매개변수1, 매개변수2, ... ){
}
함수명(값1, 값2, ... );
** 3_variable2.php
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수 - 2</title>
</head>
<body>
<h2>변수 - 2</h2>
<?php
$num1 = 5;
function func1() {
$num2 = 10;
echo "함수 내에서 호출한 지역변수 num2의 값은 {$num2}입니다.<br>";
global $num1;
echo "함수 내에서 호출한 전역변수 num1의 값은 {$num1}입니다.<br>";
}
func1();
echo "함수 밖에서 호출한 전역변수 num1의 값은 {$num1}입니다.<br>";
?>
</body>
</html>
** 4_variable3.php
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수 - 3</title>
</head>
<body>
<h2>변수 - 3</h2>
<?php
function counter() {
static $cnt = 1;
echo "변수의 cnt 값은 {$cnt}입니다.<br>";
$cnt++;
}
counter();
counter();
?>
</body>
</html>
10. 데이터 전송 방식(method)
1) get 방식
URL에 변수(데이터)를 포함하여 전송
URL에 변수(데이터)가 노출되어 보안에 취약
전송하는 길이에 제한이 있음
캐싱할 수 있음
속도가 빠름
** http://5_variable4_ok.php?userid=apple&userpw=1234
? 뒤에 "키=값" 구조로 데이터를 전달, 2개 이상의 데이터를 전달할 경우에는 &로 연결하여 전달
** 5_variable4.php, 5_variable4_ok.php
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수 - 4</title>
</head>
<body>
<h2>변수 - 4</h2>
<form method="get" action="5_variable4_ok.php">
<p><lable>아이디 : <input type="text" name="userid"></lable></p>
<p><lable>비밀번호 : <input type="password" name="userpw"></lable></p>
<p><input type="submit"></p>
</form>
</body>
</html>
<?php
$id = $_GET["userid"];
$pw = $_GET["userpw"];
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수 - 4</title>
</head>
<body>
<h2>변수 - 4</h2>
<p>입력한 아이디는 <?=$id?></p>
<p>입력한 아이디는 <?=$pw?></p>
</body>
</html>
2) POST 방식
URL에 변수(데이터)를 노출하지 않고 전송
URL에 데이터가 노출되지 않아 기본 보안은 지켜짐
전송하는 길이에 제한이 없음
캐싱할 수 없음
GET 방식보다 속도가 느림
** 6_variable5.php, 6_variable5_ok.php
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수 - 5</title>
</head>
<body>
<h2>변수 - 5</h2>
<form method="post" action="6_variable5_ok.php">
<p><lable>아이디 : <input type="text" name="userid"></lable></p>
<p><lable>비밀번호 : <input type="password" name="userpw"></lable></p>
<p><input type="submit"></p>
</form>
</body>
</html>
<?php
$id = $_POST["userid"];
$pw = $_POST["userpw"];
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수 - 5</title>
</head>
<body>
<h2>변수 - 5</h2>
<p>입력한 아이디는 <?=$id?></p>
<p>입력한 아이디는 <?=$pw?></p>
</body>
</html>
11. PHP의 상수
: 상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미하나
상수가 변수와 다른 점은 한 번 선언되고 데이터를 저장하면, 그 데이터를 변경하거나 해제(undefined)를 할 수 없다.
define(상수이름, 값, 대소문자 구분 여부); // 대소문자 구분 여부 : true 대소문자 구분안함, false면 구분함
** 7_constant.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>상수</title>
</head>
<body>
<h2>상수</h2>
<?php
define("PHP", "안녕하세요.<br>"); // 대소문자 구분 여부 생략 => false
echo PHP."<br>";
//echo php."<br>"; // 에러 : Warning: Use of undefined constant php - assumed 'php'
// (this will throw an Error in a future version of PHP)
// in D:\front-end\php\day1\7_constant.php on line 13
define("NUM", 100, true); // true는 대소문자를 구분하지 않음
echo NUM."<br>";
echo num."<br>";
?>
</body>
</html>
12. PHP의 데이터 타입
: 타입이란 프로그램에서 다룰 수 있는 값의 종류를 의미한다.
1) 정수(integer)
: 정수는 부호를 가지는 소수부가 없는 수를 의미한다.
PHP에서 정수의 표현범위는 운영체제에 따라 달라지며,
64비트 운영체제를 기준으로 -2,147,483,648 ~ + 2,147,483,647 사이의 값을 가진다.
2) 실수 (float)
: 실수는 소수부나 지수부를 가지는 수를 의미하며, 정수보다 더 넓은 표현 범위를 가진다.
3) 불리언(boolean)
: 불리언은 참(true)과 거짓(false)을 표현한다.
PHP에서 불리언은 상수인 true, false를 사용해 나타내며, 대소문자를 구분하지 않는다.
따라서 true, false 값들 이외에 모든 값을 true로 인식하고 0은 false로 인식된다.
4) 문자열(string)
: 문자열은 일련의 연속된 문자(character)들의 집합을 의미한다.
PHP에서 문자열 리터럴은 큰따옴표(" ")나 작은따옴표(' ')로 감싸서 표현한다.
'웹_프론트_백엔드 > 프론트엔드' 카테고리의 다른 글
2021.01.23 (0) | 2021.01.23 |
---|---|
2021.01.17 (0) | 2021.01.17 |
2021.01.10 (0) | 2021.01.11 |
2020.09.27 (0) | 2020.09.29 |
2020.09.26 (0) | 2020.09.28 |