PHP de Verdade – Traits #04

안녕하세요, #PocketBrothers, 안녕하세요? 진실의 PHP 과정을 계속합시다 오늘 수업에서 우리는 "특성"을 만날 것입니다 특성은 일부 PHP 개발자에게 혼란을 야기합니다

PHP의 버전 54에서 소개 된이 새로운 개념 그것은 클래스의 행동을 가지고있다 하지만 인터페이스와 매우 흡사합니다 그리고 하루가 끝날 때 그는 하나도 아니고 다른 것도 아닙니다 이 슬라이드 프레젠테이션에이 글을 넣었 듯이 "특성"은 클래스의 부분적 구현이다

즉 상수, 속성 또는 메서드입니다 이는 시스템 내에 존재하는 하나 이상의 PHP 클래스와 결합 될 수 있습니다 이것에서, 우리는 형질이 이중 기능을 가지고 있다고 말할 수있다 그것은 인터페이스가하는 것처럼 클래스가 할 수있는 것을 클래스에 알려주는 것입니다 또한 클래스와 같은 모듈 식 구현을 허용합니다

그는 하나도 아니고 다른 두 가지 개념을 가지고 있습니다 이제 프로그래밍에서 특성을 사용하는 이유는 무엇입니까? "특성"은 코드 재사용에 많은 도움이됩니다 나는 너에게 아주 실용적인 예를 남겼다 예를 들어, 우리가 PHP 54 이전 버전이었을 때 우리가 두 개 이상의 클래스에서 공통된 방법이나 행동을 사용해야 할 때 우리는 여기에 다소 비슷한 것을 할 것입니다 : 여기에 수업을 만들었습니다

우리 시스템의 로그를 만들었 기 때문에, "Log"클래스를 열고 "public function log"메시지를 엽니 다 여기에서 오렌지색으로 쓰여진 곳은이 메시지를 저장하기위한 코드를 입력하는 부분입니다 이제 이것을 생각해보십시오이 "Log"클래스는 다른 클래스에서 사용해야합니다 내 수업 "로그"를 확장 할 수 없으며 또한 확장해서는 안됩니다

그러면 우리는 다음과 같은 것을 할 것입니다 : 내 "로그"클래스를 사용하려면 다른 클래스 내부에 사용하십시오 여기 예제에서 볼 수 있습니다, 클래스 "사용자", 그때, 나는 인스턴스 생성해야 할 것, 내 "로그"클래스, "사용자"클래스 내에서, 그리고 재사용해야하는 경우에도 "장바구니"클래스 내부에서 다시 인스턴스화해야합니다 그리고이 외에도 내가 메시지를 저장할 곳은 "로그" "로그"입니다 그래서이 모델에서는 매우 큰 코드 중복을 사용하고 있습니다 그러면 시스템 성능에 영향을 미칠 수 있습니다

그리고 내가 무엇이든 놓칠 경우,이 "내 로그"를 올바르게 인스턴스화하는 것을 잊어 버리면, 내부에서 다른 클래스 안에는 내 시스템이 작동하지 않을 수도 있습니다 그래서이 문제를 해결하기 위해이 "로그"클래스를 여기에서 만들지 않을 것입니다 처음에 본 "로그"클래스입니다 PHP 54 버전 대신에, "Log"의 "특성"을 만들 것입니다

그것을 사용하는 것이 훨씬 간단합니다 대신에 "로그" 클래스 안에서 나는 그것을 사용할 것이다 필요하지 않습니다 단지 "사용"을하고 "특성"이라고 부르면됩니다이 경우에는 "로그"의 "특성"이 필요합니다

또한 메시지를 저장하는 방법에 주목하여 복제 작업을 수행 할 필요가 없습니다 나는 이전에해야했던 "로그"와 "로그"였고, 나는 직접 할 수있다 그래서이 새로운 기능은 "특성", 그것은 환상적인 기능입니다, 시스템을 만들 필요가있는 당신을 위해 예를 들어 하나의 클래스를 다른 클래스 내에서 여러 번 사용해야하는 경우, 그래서 수업을 시작하는 대신에 "특성"을 열게됩니다 이 "형질"은 다른 클래스 안에서 그것을 사용하게 될 것입니다 이 클래스는 매우 빠른 클래스입니다

그래서 우리는이 "Trait"개념 중 일부를 이해할 수 있습니다 우리가 실용적인 부분에있을 때, 우리는 더 차가운 것을 배우게 될 것입니다, 어떻게 그것을 사용합니까 이 수업에서 우리는 당신에게 그 개념을 전달하고 있습니다

너가 좋아하면 너는 교훈을 즐겼 으면 좋겠다 너의 친구와 함께 CURTIR, SHARE을 기억하라 우리 채널에 가입하면 콘텐츠를 수신하기 위해 매주 업데이트됩니다! 나는 여기에 모두를위한 강한 포옹을하고 그 다음까지 자막 : Emerson Carvalho (PontoCanal)