PHP/PHP의 기본 13

디렉토리

[현재 디렉토리위치 확인과 현재 디렉토리의 부모 확인] getcwd를 echo함으로써 chdir이라는 부모디렉토리확인을 echo한후 다시 getcwd를 하면 [디렉토리의 탐색] scandir을 통해서 첫 번째 인자는 탐색할 디렉토리의 경로이고 두 번째 인자는 정렬방법이다. [디렉토리의 생성] mkdir을 사용해서 첫 번째 인자는 디렉토리명이며 두 번째 인자는 권한 지정이며 세 번째 인자는 만약 true로 사용했을 때 1/2/3/4 순으로 디렉토리가 없다면 1/2/3/4 순으로 디렉토리를 생성해주는 기능이다.

PHP/PHP의 기본 2021.09.17

파일

[파일 다루기] 파일 복사 먼저 현재 존재하는 $file을 선언한 후 새로 만들 파일 이름$newfile을 정해서 선언한다. 그 후 if (!copy) 구문으로 $file이 존재하면 캡처본의 왼쪽처럼 readme와 내용이 같은 example파일이 복사된다. 만약 $file이 존재하지 않는다면 echo가 출력된다. 파일 삭제 unlick로 원하는 파일명을 작성한 후 웹에 적용하면 삭제된다. [읽고 쓰기] -파일 불러오기 get- file_get_contents를 사용해서 $file에 있는 txt 파일을 불러온다. 이때 1.php 파일과 같은 디렉터리에 readme.txt 파일이 존재해야 한다. -파일 생성 및 원하는 내용까지 저장하기 put- file_put_contents를 사용해서 $file도 새로 만..

PHP/PHP의 기본 2021.09.17

파일 불러오기(include) 그리고 namespace

우리는 프로그램의 유지보수를 위해 할 수 있는 기법 중 하나로 여러 개의 파일로 분리하는 것이다. 효과는 - 자주 사용되는 코드를 별도의 파일로 만들어 필요할 때마다 재활용 가능 - 코드를 개선하면 이 코드를 사용하는 모든 앱의 동작이 개선 - 코드 수정 시 필요한 로직을 빠르게 찾을 수 있다. - 필요한 로직만을 로드해서 메모리 낭비를 줄일 수 있다. 먼저 include없는 파일을 만들어 보자 만약 welcome함수가 자주 사용되는 코드라면 쓸 때마다 이 함수를 정의하는 건 번거롭다. 이럴 떄 사용하는 것이 include이다. include파일을 만들어 보자 그리고 본인이 만들 파일을 만든 후 include 해본다. 이렇게 결과는 같지만 welcome을 외부 파일로 분리해서 사용한 결과이다. 결론은 i..

PHP/PHP의 기본 2021.09.17

배열 Array

리스트라고도 하는 형태의 데이터 타입 여러 개의 데이터를 하나의 변수에 담아서 관리할 수 있는 방법으로 배열이 태어났다. 배열이 없다면 이러한 수고스러움이.. 배열 없는 함수로 표현 배열 함수로 표현 배열의 원하는 순번을 가져오고 싶다면 배열은 반복문과 결합했을 때 나타난다. 반복문으로 배열에 담긴 정보를 하나씩 꺼내서 처리할 수 있기 때문이다. 배열 자체가 수는 아니기 때문에 count로 적용해주고 ucfirst라는 첫 글자는 대문자로 표현을 사용해서 나타내면 우리는 배열을 조작 및 제어할 수 있어야 한다. 배열은 데이터의 추가/수정/삭제와 같은 일을 편리하게 할수 있는 기능이 있다. 중요한 기능만 보자면 배열 크기 배열 추가 (1개 이상 복수로 []를 사용해서 추가 가능) 시작 지점 배열 추가 제거 ..

PHP/PHP의 기본 2021.09.14

함수 (function)

함수는 하나의 로직을 재실행할 수 있도록 하는 것으로 코드의 재사용성을 높여준다. 우선 형식을 봐보자 코드예시 사실 함수의 핵심은 입력과 출력이다. 입력된 값을 연산해서 출력하는 것이 함수의 기본 역할이다. return return뒤에 따라오는 값을 함수의 결과로 반환하며 동시에 함수를 종료시킨다. 인자(argument) 인자는 함수로 유입되는 입력 값 자체를 의미한다. 즉 어떤 값을 인자로 전달하느냐에 따라서 함수가 반환하는 값이나 메서드의 동작방법을 다르게 할 수 있다. 여기서 잠깐 인자의 기본값이라는 게 존재한다. 여기서 2항의 $arg = 100 은 인자 $arg의 기본값으로 100을 사용하겠다는 의미다. 그렇다면 인자의 값이 설정되지 않았을 때는 $arg의 값은 100이 된다. 즉 내가 1이라는..

PHP/PHP의 기본 2021.09.14

반복문

인간은 반복적인 작업을 잘하지 못한다. 실수하고 지루해한다. 그래서 반복하는 구문이 존재한다. while구문이다. [형식] 예시를 들어보자 while문의 주의할 점은 종료 조건을 따로 걸지 않으면 컴퓨터가 많이 아파할 수 있다. for구문도 있다. [형식] 초기화는 최초 1회에 해당한다. 반복지속여부 boolean값으로 판단된다. 그로 인해 반복실행이 이루어진다. 결과는 아래와 같다. 또한 while구문으로도 10번 반복 출력하고 싶다면 break 이러한 반복문들을 중간에 중단하고 싶다면 어떻게 해야 할까? break를 사용하면 된다. continue 그럼 실행을 중단하면서 반복은 지속되게 하려면 어떻게 해야 할까? 해당하는 부분만 break로 출력하지 못하게 한 후 나머지 코드들은 출력시킨다. 위에 b..

PHP/PHP의 기본 2021.09.14

조건문

조건문의 말 그대로 비교하는 것이기에 Boolean으로 표현된다. 그럼 우린 왜 조건문을 써야만 할까? 이유는 주어진 조건에 따라 애플리케이션을 다르게 동작하도록 해야 하기 때문. -조건문은 if로 시작한다. if 뒤에 괄호 괄호 안에 조건 조건이 될 수 있는 값은 Boolean 괄호 안에 true이기에 echo가 출력된다. 추가로 if를 보강하기 위해 나온 else if 가 있다. else if는 if와 else 사이에만 있어야 한다. else if 가 필요 없다면 if 뒤에 바로 else가 오면 된다. else if는 if와 else와는 다르게 여러 개가 올 수 있다는 점이다. else if구문이 true가 나오지 않는 한 계속 진행된다. 이러한 조건문으로 응용을 해보자. 일단 아이디를 입력할 수 있..

PHP/PHP의 기본 2021.09.14

입출력 and 폼 and HTTP

[입출력] PHP 애플리케이션은 URL을 통해서도 데이터를 입력받을 수 있다. $_GET['id']으로 URL 내용 중에서 '?id= '뒤에 오는 데이터로 치환되는 걸 알 수 있다. 그리고 이렇게 추가로 GET을 줬다 여기서 ?의 의미는 주소와 입력데이터의 구분자이다. 그리고 입력데이터안에서 &는 값과 값 사이의 구분자이다. [Form폼] 근데 위와 같이 URL에 직접 정보를 입력하는 것은 불편하다. 그래서 고안된 방법이 HTML의 폼이다. 이 안에서 get의 방법으로 submit을 입력하면 action=페이지로 이동한다는 뜻이다. web 표현은 제출을 누르면 본인이 지정한 action 페이지로 넘어가게 된다. [HTTP] get과 post는 모두 서버에서 처리한다. get은 좀 전에 봤던 것처럼 데이터..

PHP/PHP의 기본 2021.09.13

비교

조건문과 반복문에서 살펴볼 때 핵심적으로 사용되는 비교 일단 잘 익혀두어야 한다. 그래야 후속 공부에서 잘 따라갈 수 있다. 비교연산자는 true/fasle로만 표현된다. [대입연산자] == 비교하는 값 (같은지 안 같은지) != 위와 반대로 "같지 않다"라는 것을 기준으로 비교하는 값 === 좌항과 우항이 정확하게 같다는 의미 ==와 차이는 ===는 양쪽의 데이터 형식까지 정확하게 동일해야 같은 것으로 인정

PHP/PHP의 기본 2021.09.13

변수와 상수

[변수] php에서는 변수를 줄 때 변수 앞에 무조건 $를 표시해야 한다. 실행 시 2 3 이 나온다. 그리고 #주석을 일일이 쓰기 귀찮을 때 생략하고 싶은 줄 첫 줄에 /* 막 줄에 */를 해주면 전체가 주석 처리된다. 다음으로 변수에는 숫자만 오는 것이 아니다. 변수 'hello world'도 올 수 있는 것이다. 이때 문자와 문자를 결합할 때 .을 붙여야 한다. [상수] 상수는 변수와 대비된다. 그러니까 "상수는 1은2다" 가 말이안된다. 왜냐하면 "1은 1이고 2는2이기 때문이다" 그러나 x는 변수이기 때문에 "x는1이다" 는 말이 된다. 아래 코드를 보자 (상수를 정의 할 때는 define를 사용한다.) 6줄은 ERROR가 뜬다. 왜냐하면 'TITLE'은 이미 'PHP Tutorial' 이라는 ..

PHP/PHP의 기본 2021.09.13