hELLO.

    PHP: 상속 (생성자, 가시성, Final)

    상속 상속은 PHP: 클래스에서 잠깐 살펴보았듯, 계를 표현합니다. 예를 들어 동물이라는 최상위 클래스를 상속받은 사람, 강아지, 고양이 등이 있을 수 있습니다. 상속이라는 개념을 사용하면 확장에 유용하고 추상 클래스나 인터페이스를 함께 사용하면 다양한 서드파티 클래스들을 받아서 이를 처리할 수 있게됩니다. 상속이라는 개념은 객체지향에서 중요한 개념이며 반드시 알아야 하는 사항이기도 합니다. 이는 PHP 뿐만 아니라 자바나 C++ 등 다른 언어에서도 중요합니다. extends 상속을 사용하는 법 자체와 extends 키워드는 PHP: 클래스에서 알아보았으니 조금은 다른 주제에 대해 이야기해보자면, 상속과 함께 사용할 수 있는 개념인 생성자, 가시성, Final 키워드에 대한 것입니다. 개별의 주제는 각각..

    PHP: Static (정적 변수, 정적 메서드, 늦은 정적 바인딩)

    Static static 키워드는 PHP 언어에서 대략 세 가지의 의미로 쓰이는데 정적 변수 선언, 정적 메서드, 늦은 정적 바인딩입니다. 특히나 늦은 정적 바인딩의 경우 조금 헷갈리는 요소도 있으니 주의해야 합니다. 정적 변수 선언 함수 내부에서 일반적으로 변수를 사용하면 함수 호출이 끝나고 스택에서 로컬 변수가 사라져야 하지만, static 변수쓰면 값을 유지할 수 있도록 해주는데, 이에 관한 이야기는 이번 포스팅에서는 크게 언급하지 않을 것이고, 자세한 사항은 PHP: 변수를 참고해주시기 바랍니다. 정적 메서드 메서드 선언 시 static 키워드를 함께 적음으로서 정의합니다. 클래스 로드시 정적 공간 메모리에 할당되므로 this 에 바로 접근할 수 없으며 self:: 와 같은 문맥 키워드를 적어야 ..

    PHP: 클래스 (상속, 문맥, 익명 클래스)

    객체지향 PHP 언어도 객체지향(Object-Oriented Programming)을 지원합니다. 이전의 레거시 프로젝트에서는 함수로 표현하지만, 라라벨 등의 모던 프레임워크에서는 객체지향을 기본으로 합니다. 많은 객체지향 언어들이 클래스를 사용하여 현실세계에 존재하는 개체(Entity)를 묘사하며, 행동과 상태, 그리고 현실세계에서 존재하는 상속이나 인터페이스 등을 통해서 다채롭게 표현할 수 있습니다. 이는 모두 우리가 살아가는 세계를 프로그램에서 표현하기 위함이며 조금 더 인간세계와 매핑하기 좋게 만들어줍니다. 함수형 프로그래밍은 프로그램을 조금 더 단순하게 만들어줄 수 있지만, 함수가 각자 독립적이므로 직접적으로 관계를 표현하지 않습니다. 그러나 객체지향 프로그래밍은 관계와 계를 표현할 수 있으므로..

    티스토리 스킨 제작 프레임워크, 티도리를 소개합니다.

    티도리 프레임워크 티도리 프레임워크는 본인이 직접 개발한 프레임워크이며 오직 티스토리 스킨 제작만을 위해 구성되었습니다. 현재 사용 중인 스킨 또한 티도리로 개발되었습니다. 티스토리 스킨을 하나 만들기 위해 프레임워크까지 써야할까요? 2010년대 이후 웹기술이 급성장하면서 많은 웹 프레임워크가 탄생했습니다. 리액트, 뷰, 앵귤러 등을 대표격으로 수 많은 프론트엔드 웹 프레임워크가 탄생했습니다. 티도리도 그 중 하나입니다. 티도리 프레임워크는 일반적인 웹페이지가 아닌 티스토리 스킨 제작 하나만을 고려하고 제작되었습니다. 개발 환경, 서버, 배포 등이 모두 티스토리 스킨에 초점이 맞춰져 있습니다. 따라서 기존의 자바스크립트 기반 웹 프레임워크와는 다른 느낌을 주게됩니다. 이는 런타임에 로드되는 것이 아니며 ..

    PHP: 함수 (익명 함수, 화살표 함수, Closure)

    함수 함수(Functions)라는 개념은 많은 프로그래밍 언어에서 중요합니다. 코드의 중복을 최소화하고 기능 단위로 코드를 구성함으로서 말 그대로 블록처럼 끼워맞춰 어플리케이션을 구성할 수 있도록 해줍니다. 또한 하나를 변경했을 때 다른 곳은 변경하지 않더라도 적용되기때문에 유지보수에 큰 도움을 줍니다. function 함수의 선언은 function 키워드를 사용하여 다음과 같이 할 수 있습니다. foo 라는 이름을 가진 함수가 정의되었습니다. function foo() { echo 'Hello, world'; } 이제 함수를 사용하려면 호출을하면 되는데, 대략 세 가지 방법을 소개하고자 합니다. 함수의 이름으로 호출하기 함수의 이름과 함께 소괄호를 사용하여 함수를 호출합니다. foo(); // -> H..