728x90
PHP 강의 개요
1. PHP란 무엇인가?
- PHP는 "Hypertext Preprocessor"의 약자로, 서버 사이드 스크립팅 언어입니다.
- 웹 개발을 위해 설계되었으며 HTML에 쉽게 삽입할 수 있습니다.
- 동적인 웹 페이지를 생성하는 데 사용됩니다.
2. PHP의 역사
- 1994년, Rasmus Lerdorf가 처음 개발했습니다.
- 원래 "Personal Home Page" 도구로 시작되었으나, 후에 더 강력한 기능을 추가하면서 "PHP: Hypertext Preprocessor"로 이름이 바뀌었습니다.
3. PHP의 특징
- 오픈 소스: 무료로 사용할 수 있습니다.
- 광범위한 지원: 대부분의 웹 서버, 운영 체제, 데이터베이스와 호환됩니다.
- 쉬운 학습: 문법이 간단하고 이해하기 쉽습니다.
- 풍부한 라이브러리: 다양한 내장 함수와 라이브러리를 제공합니다.
4. PHP 설치 및 설정
로컬 개발 환경 설정
- XAMPP: Apache, MySQL, PHP, Perl이 포함된 패키지
- MAMP: macOS용 Apache, MySQL, PHP 패키지
- WAMP: Windows용 Apache, MySQL, PHP 패키지
PHP 파일 작성
- 파일 확장자는
.php
로 합니다. - PHP 코드는
<?php ... ?>
태그 안에 작성합니다.
- 파일 확장자는
5. PHP 기본 문법
5.1 변수
$
기호로 시작합니다.<?php $변수명 = 값; ?>
5.2 데이터 타입
- 스칼라 타입: integer, float, string, boolean
- 복합 타입: array, object
- 특수 타입: NULL, resource
5.3 제어 구조
조건문
<?php if (조건) { // 코드 } elseif (다른 조건) { // 코드 } else { // 코드 } ?>
반복문
<?php for ($i = 0; $i < 10; $i++) { echo $i; } while (조건) { // 코드 } do { // 코드 } while (조건); ?>
6. 함수
- PHP에서는 사용자 정의 함수를 만들 수 있습니다.
<?php function 함수이름(매개변수1, 매개변수2) { // 함수 내용 return 반환값; } ?>
7. 배열
- 인덱스 배열과 연관 배열을 지원합니다.
<?php $인덱스배열 = array(1, 2, 3); $연관배열 = array("키1" => "값1", "키2" => "값2"); ?>
8. PHP와 데이터베이스
PHP는 다양한 데이터베이스와 연동할 수 있습니다. 가장 일반적으로 사용되는 데이터베이스는 MySQL입니다.
<?php $연결 = mysqli_connect("서버주소", "사용자이름", "비밀번호", "데이터베이스이름"); if (!$연결) { die("연결 실패: " . mysqli_connect_error()); } $sql = "SELECT * FROM 테이블명"; $결과 = mysqli_query($연결, $sql); if (mysqli_num_rows($결과) > 0) { while($행 = mysqli_fetch_assoc($결과)) { echo "id: " . $행["id"]. " - Name: " . $행["이름"]. "<br>"; } } else { echo "0 결과"; } mysqli_close($연결); ?>
9. 폼 처리
HTML 폼 데이터를 처리하기 위해
$_GET
또는$_POST
슈퍼글로벌 배열을 사용합니다.<!-- HTML 폼 --> <form method="post" action="처리파일.php"> 이름: <input type="text" name="name"> 나이: <input type="text" name="age"> <input type="submit"> </form> <!-- 처리파일.php --> <?php $이름 = $_POST['name']; $나이 = $_POST['age']; echo "이름: " . $이름 . "<br>"; echo "나이: " . $나이; ?>
10. PHP 보안
- SQL Injection 방지: 준비된 문(statement) 사용
- XSS (Cross-Site Scripting) 방지:
htmlspecialchars()
함수 사용 - 입력 검증: 사용자 입력 데이터 철저히 검증
11. 고급 주제
- 객체 지향 프로그래밍(OOP): 클래스, 객체, 상속, 다형성 등
- 세션 관리: 사용자 세션을 유지하기 위한 방법
- 파일 처리: 파일 읽기, 쓰기, 삭제 등
12. PHP 프레임워크
- Laravel: 현대적인 PHP 애플리케이션 개발을 위한 프레임워크
- Symfony: 재사용 가능한 PHP 구성 요소와 라이브러리를 제공
- CodeIgniter: 간단하고 빠른 PHP 프레임워크
728x90
반응형
'Software > PHP' 카테고리의 다른 글
PHP 시작하기 - Barcode128 (0) | 2024.08.08 |
---|---|
PHP 시작하기 - Barcode39 (0) | 2024.08.08 |
PHP 시작하기 - curl이용 웹크롤링 (0) | 2024.07.02 |
PHP 시작하기 - header 및 호출시 파라멘트 읽기 (0) | 2024.06.22 |
phpmyadmin에서 SQL 내보내기 euc-kr 추가하기 (0) | 2024.06.21 |