![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/3ftB7/btryMlYIFlA/wzk4GJKb08vk2FZWM5e1m1/img.png)
네임스페이스 네임스페이스가 무엇인가를 정의하기에 앞서서 파일을 생각해보자. 파일은 데이터를 보관하고 있는 일종의 컨테이너다. 그리고 이 컨테이너는 파일명으로 식별이 된다. 파일의 수가 많아지면서 파일을 관리하는 것이 점점 어려워진다. 그래서 고안된 것이 바로 디렉토리다. 디렉토리를 이용하면 같은 이름의 파일이 하나의 컴퓨터에 존재할 수 있다. 파일명의 충돌을 회피 할 수 있게 된 것이다. 네임스페이스란 간단하게 디렉토리와 같은 것이라고 생각하자. 하나의 에플리케이션에는 다양한 모듈을 사용하게 된다. 그런데 모듈이 서로 다른 개발자에 의해서 만들어지기 때문에 같은 이름을 쓰는 경우가 생길 수 있다. 이런 경우 먼저 로드된 모듈은 나중에 로드된 모듈에 의해서 덮어쓰기 되기 때문에 이에 대한 대책이 필요하다...
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/V3ns5/btryKQxxHC1/yl5IEBB8qPkHK5fn2O2SJk/img.png)
프로그램은 작고 단순한 것에서 크고 복잡한 것으로 진화한다. 그 과정에서 코드의 재활용성을 높이고, 유지보수를 쉽게 할 수 있는 다양한 기법들이 사용된다. 그 중의 하나가 코드를 여러개의 파일로 분리하는 것이다. 이를 통해서 얻을 수 있는 효과는 아래와 같다. 자주 사용되는 코드를 별도의 파일로 만들어서 필요할 때마다 재활용할 수 있다. 코드를 개선하면 이를 사용하고 있는 모든 애플리케이션의 동작이 개선된다. 코드 수정 시에 필요한 로직을 빠르게 찾을 수 있다. 필요한 로직만을 로드해서 메모리의 낭비를 줄일 수 있다. include란? PHP에서는 필요에 따라서 다른 PHP 파일을 코드 안으로 불러와서 사용할 수 있다. 그 방법에 대해서 알아보자. include가 없다면 우선 include가 없는 애플리..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/bLbfoJ/btryPqw9Geb/LXxjhKTNB8Ul7OTZiAjv01/img.png)
배열이란 다른 언어에서는 리스트라고도 하는 형태의 데이터 타입이다. 배열은 연관된 데이터를 모아서 관리하기 위해서 사용하는 데이터 타입이다. 변수가 하나의 데이터를 임시로 저장하기 위한 것이라면 배열은 여러 개의 데이터를 저장하기 위한 것이라고 할 수 있다. 아래의 예제를 보자. 변수 name에는 문자 egoing이 할당되었다. 이제부터 name을 호출하면 문자 egoing을 사용할 수 있다. /array/1.php 1 2 3 4 배열의 생성 그렇다면 여러 개의 데이터를 하나의 변수에 담아서 관리할 수 있는 방법은 없을까? 있다. 배열을 쓰면 된다. 변수 member에 회원정보를 담아보자. 대괄호([])는 배열을 만드는 기호다. 대괄호 안에 데이터를 콤마(,)로 구분해서 나열하면 배열이 된다. /arra..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/5Te8d/btryJDkYaat/jaqhZOJ2sVe7UGUxcdFDM0/img.png)
함수(function)란 하나의 로직을 재실행 할 수 있도록 하는 것으로 코드의 재사용성을 높여준다. 사실 함수 이전에 우리가 배웠던 것들로도 프로그램을 만들 수 있다. 그런 점에서 함수 이전의 내용들은 프로그래밍의 실체라고 할 수 있다. 그 이후부터 등장하는 함수나 객체지향과 같은 개념들은 그것 자체가 프로그래밍의 연산이나 논리에 직접적으로 관여하는 것이라기 보다는 방대한 양의 코드를 줄여주고, 유지보수를 쉽게하고, 버그가 발생할 여지를 줄여주는 것들이라고 할 수 있다. 이것들 없이 거대한 소프트웨어를 만든다는 것이 불가능하지는 않지만, 현실적으로 어렵다. 함수의 형식 함수의 형식은 아래와 같다. 1 2 3 4 function 함수명( [인자...[,인자]] ){ 코드 return 반환값; } 함수의 ..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/ZT6Z7/btryLBmWTwb/MyoVi9Y3Vg4rI3QgwLrcG0/img.png)
반복문 반복문은 프로그래밍에서 가장 중요한 요소 중의 하나다. 인간은 반복적인 작업을 잘하지 못한다. 실수하고, 지루해한다. 컴퓨터는 이런 반복적인 작업을 대행하기 위해서 만들어진 기계다. 반복문은 컴퓨터에게 반복적인 작업을 지시하는 방법이다. 반복문의 문법 반복문의 문법은 몇가지가 있다. 각각의 구문은 서로 대체 가능하기 때문에 상황과 취향에 따라서 선택해서 사용하면 된다. while 형식은 아래와 같다. 1 2 3 4 while(조건){ 코드 코드 } 아래의 예제를 실행해보자. 다음 예제는 무한반복을 발생시킨다. 저장되지 않은 작업이 있다면 모두 정리한 후에 이 명령을 실행하자. 콘솔에서 실행할 경우 Ctrl+C 나 Cmd+. 단축키를 이용해서 무한반복을 중지 할 수 있다. 실행하기 않아도 된다. /..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/btMgNJ/btryLIeOoGF/lax9Eo8AE8Lfv8nEbv3qx0/img.png)
Boolean '비교 수업'에서 비교 연산의 결과로 참(true)이나 거짓(false)을 얻을 수 있다고 배웠다. 여기서 참과 거짓은 '숫자와 문자 수업'에서 배운 숫자와 문자처럼 언어에서 제공하는 데이터 형이다. 이를 Boolean(불린)이라고 부르고 불린으로 올 수 있는 값은 true와 false 두가지 밖에 없다. 불린은 조건문에서 핵심적인 역할을 담당한다. 조건문 조건문이란 주어진 조건에 따라서 에플리케이션을 다르게 동작하도록 하는 것이다. 조건문의 문법 if 조건문은 if로 시작한다. if 뒤에 괄호가 오고, 괄호 안에 조건이 위치한다. 조건이 될 수 있는 값는 Boolean이다. Boolean의 값이 true라면 조건을 감싸고 있는 괄호 다음의 중괄호 구간이 실행된다. 아래 예제의 실행결과는 ..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/bIVs3I/btryOyifHke/IJm7uasStyhzZX9riqvZgK/img.png)
에플리케이션의 입력값과 폼 프로그램은 입력 값을 가질 수 있다. 그리고 입력 값에 따라서 동작 방법이 달라지거나 입력된 값을 저장/삭제/출력 할 수 있다. 이번 시간에는 PHP의 문법에 대한 내용에서 잠깐 빠져나와서 PHP 에플리케이션이 데이터를 입력 받는 방법에 대해서 알아본다. 우선 코드를 보자. 1 2 3 위의 코드를 브라우저로 열어보자. 이 때 파일명 뒤에 ?id=k8805이라고 입력한다. 예를들면 아래와 같다. 결과는 k8805다. URL의 k8805를 egoing으로 변경해보자. 화면에는 egoing이 출력될 것이다. 이것을 통해서 유추할 수 있는 것은 코드 상의 $_GET['id']는 URL의 내용 중에서 '?id=' 뒤에 따라오는 데이터로 치환된다는 것을 추정 할 수 있다. 이것이 의미하는..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/9ZuBP/btryONlWFD1/T1JBO4ActlZ9nykJKkYac1/img.png)
연산자 연산자란 값에 대해서 어떤 작업을 컴퓨터에게 지시하기 위한 기호인데 우리는 이미 연산자를 사용했다. 아래 예제 중에서 '='는 우항의 값인 1을 좌항의 변수 a에 대입하는 '대입 연산자'다. PHP의 주요 연산자는 PHP의 메뉴얼을 참고하자. 연산자가 무엇인가에 대한 이해를 돕기 위한 것일 뿐 외울 필요는 없다. 차차로 알게 된다. 1 $a=1; 비교 연산자 프로그래밍에서 비교란 주어진 값들이 같은지, 다른지, 큰지, 작은지를 구분하는 것을 의미한다. 이 때 비교 연산자를 사용하는데 비교 연산자의 결과는 true나 false 중의 하나다. true는 비교 결과가 참이라는 의미이고, false는 거짓이라는 뜻이다. 아래는 주요한 비교 연산자들의 종류와 그에 따른 예제들이다. == 좌항과 우항을 비교..