서론 PHP에서 매직 메소드는 특정 상황에서 자동으로 호출되는 메소드로, 이름은 항상 두 개의 밑줄로 시작된다(__). 이들은 객체 지향 프로그래밍에서 다양한 상황에 대응하거나, 코드를 보다 유연하고 읽기 쉽게 만드는 데 도움을 준다. 본 포스팅에서는 PHP에서 제공되는 매직 메소드를 예시를 들며 소개한다. __construct() 객체가 생성될 때 자동으로 호출되는 생성자 메소드로 주로 초기화 작업에 주로 사용된다. class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person("John", 30)..
패키지를 다운받아 설치하는것은 우리의 패키지 매니저가 다 알아서 해준다. PHP의 전용 패키지 매니저인 Composer를 사용해서 내가 만들어 올려놓은 패키지를 packagist.org에서부터 다운받아서 사용할 수 있다. 신규 프로젝트 생성하기 composer create-project laravel/laravel example-app 위 명령어처럼 우리는 composer 패키지 매니저를 통해서 손 쉽게 라라벨 프로젝트를 설치할 수 있다. composer가 설치되어 있지 않더라도 각각의 os에서 쉽게 라라벨 프로젝트를 생성하는 방법은 라라벨 공식 홈페이지에서 쉽게 찾을 수 있다. 패키지 설치하기 packagist.org의 우측 상단 자신의 닉네임을 클릭하여 My Packages를 클릭하면, 앞에서 배포하..
많은 PHP 개발자들은 composer 패키지 매니저를 사용해서 다른 사람들이 만든 라이브러리 혹은 패키지 등을 본인의 프로젝트에 주입하여 사용한다. 나도 다른 사람들이 만들어놓은 패키지를 많이 사용해왔지만, 스스로 패키지를 만들어 본 적은 없었기 때문에 한번 해봤다. 참고 : PHP 언어의 패키지매니저로 유명한 Composer로 다운받는 모든 외부 패키지는 packagist.org 사이트에서 운영 및 관리가 되고 있다. github webhook을 packagist와 연결하자 수 많은 개발자들이 하나의 프로젝트를 시작하면 제일 먼저 하는 소스 버전 및 형상 관리를 해주는 Git. 나는 GitHub으로 앞으로의 토이프로젝트를 진행하려고 한다. 때문에 새로운 github repository를 만들고 pus..
서버에서 동작하는 Application은 Java 기반으로, 그 데이터와 연동되는 다른 API 기능은 PHP로 개발을 진행하는 와중에 두 사이에서 같은 데이터를 암/복호화해서 사용하는 상황이 발생하였습니다. 처음엔 Laravel Framework의 Crypt Facades를 사용하여 라라 벨에서만 복호화를 진행하였는데, Java Application에서 암호화시킨 데이터를 같은 맥락으로 Laravel Framework에서 복호화시켜 사용해야 함에 따라 기본 Laravel App Key를 사용했던 Crtpt Facades를 대체하며 같이 Java에서 사용할 AES256 알고리즘 형태의 암복호화 소스가 필요해졌고, PHP는 아래 형태로 개발을 진행하게 되었습니다. [연관글] Java로 Data 암호화 및 복..
PHP 각 버전별 차이점을 알아봅니다. PHP를 사용하며 개발을 진행하다가 어느새 5,7,8버전을 다 사용해 봤습니다. 말이 "사용했다"지, 정작 각 버젼별 차이점이나 향상된 점들을 제대로 숙지하지 못하고 사용하고 있었습니다. 때문에 본 포스팅을 통해서 각 차이점을 알아보고 공부합니다. 1.PHP 5.x version [2005년 11월]php 5.1 version(이하생략)에서는 PHP에서 다양한 DB를 연결할 수 있는 PDO(PHP Data Object)개념이 도입되었습니다. [2007년 11월] 5.2에서는 JSON타입을 처리할 수 있는 자체함수가 내장되었습니다. [2009년 6월] 5.3에서는 클래스 로딩을 구분하기 위한 네임스페이스, 익명함수 문법이 추가되었고 메모리 회수를 위한 가비지컬렉터에서..
PHP 의존성을 관리해주는 Composer를 사용하여 외부 패키지를 마음대로 수정 해 보자. 각 언어마다 의존성 관리 툴이 있고, PHP에는 Composer라는 의존성 관리 툴이 있습니다. Composer 명령어를 통해 외부 패키지를 자유롭게 가져다 쓸 수 있습니다. 외부 패키지를 사용 할 때, 커스텀이 필요 할 때를 대비하여 어떻게 커스텀 하는지 알아봅니다. require,install,update의 동작원리를 알아봅니다. Composer Require,Install,Update 👉 우선 composer.json, composer.lock 파일 두개가 각각 어떤 용도로 사용되는지 먼저 알아봅니다. 👍 composer.json : application에서 사용하는 패키지 리스트를 나타냅니다. 👍 comp..