if문 예시
if($a < $b){
if($a == 5) { 코드 }
} else if($a == $b){ 코드 }
else { 코드 }
switch문 예시
switch($a){
case 0: break;
case 1: break;
default: 코드;
}
do switch문 예시
do {
코드
} while ($a);
do while문은 조건과 관계없이 무조건 한 번은 실행한다
for문 예시
for( ; ; )
for( 초기값; 조건식; 증감식 ){
코드;
}
Dev C++
https://sourceforge.net/projects/orwelldevcpp/files/latest/download
지원중단. 윈도우에서 C++ 디버깅 가능
비주얼 스튜디오는 프로젝트 단위지만 Dev C++은 파일단위로 가능
Online-gdb
step over, step into 등 활용하여 분석 진행
foreach문
foreach(배열변수 as <키 저장변수명> => <값 저장변수명>){
코드
}
예시
foreach($array as $key => $value){
print("$key , $value <br>");
}
객체지향 프로그래밍
Object-Oriented Programming(OOP)
프로그램을 수많은 '객체'라는 기본 단위로 나누고, 객체의 상호작용으로 서술하는 방식
절차지향 프로그래밍 (C언어, php) -> 객체지향 프로그래밍 (C++, Java, C#, Python, php)
클래스
객체를 만들기 위해서 프로그래머가 만드는 설계도
서로 관련성이 있는 연관된 것들을 변수와 함수로 묶는 새로운 자료형
구조체 -> 클래스 로 발전됨
인스턴스 : 클래스에 의해 생성된 객체 (속성, 행동을 갖는다)
속성 : 클래스 내 정의된 멤버 변수
메서드 : 클래스 내 정의된 멤버 함수
this : 자기 자신
-> : ~의로 읽음
PHP에서는 .을 사용할 수 없고 ->를 이용하여 참조한다
클래스명이 Test1일때
$test1 = new Test1(); //인스턴스생성
$test1->value1 = "test"; //변수사용
$test1->fun1(); //함수사용
접근제어자
public 외부접근 가능
private 내부에서만 접근 가능
protected 내부, 상속받은 클래스에서 접근 가능
Heidi SQL
윈도우용 db 접속 클라이언트 프로그램
HeidiSQL로 vmware의 로키리눅스 데이터베이스에 접속하려면 ssh tunnel을 이용한다.
시간이 오래걸려서 이것은 다음시간에 하기로 함
[user1DB]> GRANT ALL PRIVILEGES ON user1DB.* TO user1@localhost;
권한부여
$ mysql -h localhost -u user1 -p123456 user1DB
p뒤에 비밀번호를 입력하여 접속할수있다
php로 db접속하는방법참고 : https://www.php.net/manual/en/mysqli.construct.php
1) 절차지향방식$conn = @mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die("DB 접속 실패!");$query ="SHOW TABLES";$result = mysqli_query($conn, $query);
$row = mysqli_fetch_row($result);
print($row[0]);
2) 객체지향방식$mysqli = @new mysqli($dbhost, $dbuser, $dbpass, $dbname); // or die("DB 접속 실패!");// if($mysqli->connect_error) { 오류있을 때 예외처리. $mysqli->connect_errno 오류번호, $mysqli->connect_error 오류내용}$result = $mysqli->query("쿼리문");$row = $result->fetch_row();
print($row[0]);
* mariadb는 대소문자를 구분하며, database는 모두 대문자이다 (DB1인데 db1로 잘못써서 헤맸다)mysql은 설정에 따라 대소문자 구분이 다름