프로그래밍 언어/PHP

    PHP: 게시판

    게시판 해당 포스트에서는 간단하게 게시판을 만들어본다. 누군가 이런 질문을 하곤 한다. 게시판만 만들 줄 알면 취업할 수 있는거 아닌가요? 네, 아닙니다. 그렇다면 누구나 개발자로 취직하고 먹고살 수 있었을 것이다. 게시판은 그저 웹 프로그래밍을 시작하면서 그나마 프로그램 다운 프로그램의 첫번째 프로젝트라고 해도 될 것이다. 물론 게시판은 무궁무진하다. 블로그를 포함한 많은 것이 게시판을 기반으로 만들어졌다. 그만큼 게시판이라는 것은 모든 것의 기초이며 많은 것을 만들어 낼 수 있다. 우리가 만들 게시판은 그저 포스트를 쓰고, 읽고, 수정하고, 삭제하고, 리스트를 보는 게시판의 아주 기초적인 형태로만 작성할 것이다. 많은 기능을 포함하더라도 게시판의 본질을 파악하면 이를 응용하여 만들어볼 수 있을 것이다..

    PHP: 회원가입과 로그인

    회원가입 먼저 회원가입을 알아보자. 아주 간단하게만 이야기 할 것이며, 여기서는 데이터베이스 대신 배열을 사용하여 처리해보도록 하겠다. 데이터베이스를 사용하는 법이 궁금하다면, 아래의 글을 참고해보자. PHP: 데이터베이스 (MySQLi, PDO) PHP: 데이터베이스 (MySQLi, PDO) 데이터베이스 데이터베이스를 사용하는 일은 웹 어플리케이션을 작성한다면 대부분 있는 일이기에 이 부분을 빼놓을 수는 없다. PHP도 물론 오라클이나 MS-SQL 같은 다양한 데이터베이스에 연결�� pronist.tistory.com 폼 여기서 사용하는 폼은 회원가입과 로그인에서 둘 다 사용할 것이며, 차이점은 폼에서 요청하는 주소인 action 속성의 값 밖에 없을 것이다. 여기서 중요한 것은 각 input 태그가 ..

    PHP: PSR(PHP Standard Recommendation)

    PSR(PHP Standard Recommendation) PHP 에도 코딩 스타일과 린트와 같은 기능이 있고, 관련 그룹에서 권장하는 인터페이스와 프레임워크가 있다? 레거시 스타일로 PHP 를 작성하는 사람들은 이러한 존재를 알면서도 무시하거나, 모르는 경우가 많다. 하지만 인터넷이 급속도로 발달하면서 이러한 권고안이 정해지기 이전에 수 많은 프리스타일 코드가 나타났고, 그 덕에 많은 이들이 PHP에 대해 부정적 인식을 갖게 되어 여전히 PHP 의 소스코드는 엉망일 수 밖에 없다고 여기는 것이 그저 안타깝다. PSR(PHP Standard Recommendation)은 PHP 표준 권장안, PHP 어플리케이션을 작성하면서 지켜주었으면 하는 것들을 문서화한 것이다. 권장안이므로 필수는 아니지만, 필수라고..

    PHP: 의존성 관리자 — Composer

    Composer 컴포저는 PHP 의 세계에서 쓰이는 패키지 매니저, 또는 의존성 관리자라고 이야기한다. 언제까지나 우리가 모든 코드를 구성하고 테스팅할 수는 없는 노릇이다. 현 시대에는 오픈 소스가 많이 발달되었기에 이를 적극적으로 활용할 필요가 있다. 따라서 컴포저를 사용하면 다른 사람들이 만들어 놓은 패키지를 사용할 수 있다. 거기에는 유닛테스팅, 로거, 라우터 뿐만 아니라, 심포니, 라라벨 등의 프레임워크 또한 컴포저를 통해 다운받을 수 있다. 자바스크립트에 익숙하다면 NPM(Node Package Manger)와 같은 위치에 있다고 생각하면 될 것같다. 컴포저는 독립된 하나의 프로그램이기도 하기 때문에, 별도로 다운받아서 써야한다. 따라서 아래의 사이트를 참고하여 설치해보자. Download 로 ..

    PHP: MVC(Model, View, Controller)

    MVC(Model, View, Controller) 모델, 뷰, 컨트롤러로 분리하는 이 아키텍쳐는 많은 프레임워크에서 사용되는 개념이다. 모델은 코드상 어플리케이션에서 사용되는 데이터인 데이터베이스를 클래스화 시켜놓은 것이라고 볼 수 있다. 뷰는 말 그대로 보여주기만 한다. 마지막으로 컨트롤러는 모델과 소통하여 뷰에게 현재의 상태를 알려주게 되는 것이다. 물론 위의 설명이 정확한 것이라고 볼 수는 없겠지만, 대체로 모델은 '무엇' 을 어플리케이션에게 제공(대체로 데이터)할 것이며, 컨트롤러는 '어떻게' 처리할 것인지에 대한 것이라고 보면 좋겠다. 이를 코드로 한정지어 이해할 필요는 없다. 이를테면 위에서 모델은 '클래스화 시켜 놓은 것' 이라고 했지만, 그것은 단지 코드에서일 뿐이다. 모델 우리가 블로그..