PHP에서 OOP(Object Program)의 베일을 벗기다

4858 단어 webdevoopbeginnersphp
OOP는 클래스와 객체를 사용하여 응용 프로그램을 작성하는 프로그래밍 기술이나 예입니다.대상을 대상으로 하는 프로그램에서 모든 것은 속성과 행위를 가진 진실한 세계의 대상으로 여겨진다.OOP는 대부분의 현대 프로그래밍 언어에서 광범위하게 사용되는 기술이다.몇 년 전 PHP5가 발표됨에 따라 PHP에서 대상을 대상으로 하는 프로그래밍이 유행하기 시작했다.OOP는 더 깨끗한 코드 디자인, 더 쉬운 유지보수, 더 많은 코드 재사용을 위해 문을 열었다.

Understanding OOP can be a bit tricky at first so this article brings to you some OOP core concepts and the goodies that OOP has to offer and how to make use of the OOP features supported by PHP. So let's begin.


대상을 향한 개념.


학급


클래스는 본질적으로 하나의 코드 청사진이나 템플릿으로 그 중에서 하나 이상의 대상을 생성한다.클래스 설명 대상이 포함할 수 있는 내용은 속성(변수)과 함수(방법)를 포함한다.클래스와 대상 간의 관계는 이상하지만 기묘한 관계이다. 왜냐하면 우리는 클래스로 대상을 묘사하고 클래스도 자주 대상으로 묘사하기 때문이다.클래스는class 키워드와 임시 클래스 이름으로 설명됩니다.특정 클래스와 관련된 코드는 대개 괄호로 묶을 수 있다.

비록 위의 그림의 코드는 아직 매우 유용하지는 않지만, 그것은 이미 생성 대상을 만들 수 있는 합법적인 클래스이다.

오브젝트


대상은 클래스의 실례다.그것은 기본적으로 클래스가 정의한 청사진이나 템플릿에 따라 구성된 데이터이다.위에서 정의한 과일류를 사용하여 대상을 생성하기 위해 우리는 new 키워드와 클래스 이름을 결합하여 다음과 같이 사용할 것이다.
$fruit1 = new Fruit();
$fruit2 = new Fruit();
위 코드의 유일한 조작수는 new 키워드이고, 그 다음은 클래스 이름이다.코드는 과일류의 두 가지 실례를 만들었다.비록 그것들은 기능적으로 완전히 같지만, $FROUT1과 $FROUT2는 하나의 클래스에서 생성된 같은 유형의 다른 대상이다.

재산


이것들은 클래스에서 정의된 특수 변수이다.속성(구성원 변수라고도 함)에 저장된 데이터는 객체에 따라 다를 수 있습니다.클래스의 속성은 표준 PHP 변수와 유사하게 보이지만 속성을 선언할 때는 속성 변수 앞에 가시성 키워드를 붙여야 합니다(나중에 설명합니다).이것은 공공, 보호된, 또는 개인적인 것일 수 있으며, 그 중에서 접근할 수 있는 속성의 범위를 결정한다.지금 우리에게 과일류의 속성을 좀 주자.
class Fruit {
  // Properties
  public $name;
  public $color;
}
현재 과일류에는 두 개의 구성원 변수나 속성이 있다.속성에 값을 부여하기 위해서 우리는 다음과 같은 문법을 사용한다.
$fruit2->name =  "Mango";
다음과 같이 문자'->'(객체 연산자)와 객체 변수 및 속성 이름을 사용하여 속성 변수와 메서드에 하나씩 액세스할 수 있습니다.
print $fruit->name;
이 인쇄된 것은 망고 꼬치이다.PHP는 클래스에서 모든 속성을 선언하도록 강요하지 않습니다.다음과 같이 객체에 동적으로 속성을 추가할 수 있습니다.
$fruit1->shape = "Round";
상술한 방법은 대상을 대상으로 프로그래밍하는 과정에서 좋지 않은 실천으로 여겨진다.

메서드


방법은 클래스에서 설명하는 특수 함수입니다.속성은 대상이 데이터를 저장할 수 있도록 하는 것과 같이 방법도 대상이 임무나 조작을 수행할 수 있도록 한다.방법 성명은 함수 성명과 유사하다.function 키워드는 방법 이름 앞에 있고, 그 다음은 괄호에 있는 파라미터 변수의 선택 가능한 목록입니다.메소드 바디는 중괄호로 둘러싸여 있습니다.
public function myMethod($argument, $another)
    {
   // Some code
 }
//Accessing an object's method
$fruit1->myMethod(...args)
방법은 기본적으로 함수이다. 왜냐하면 그들은 매개 변수를 받아들이고 값을 되돌릴 수 있기 때문이다. 그러나 일반적인 함수와 달리, 그들은 반드시 클래스에서 정의해야 한다.액세스 수정자 (가시성 키워드) 를 사용하여 방법의 가시성을 변경할 수 있습니다.메소드 선언에서 가시성 키워드를 생략하면 메소드는 비공개로 선언됩니다.그러나 모든 방법의 가시성을 명확히 밝히는 것은 좋은 실천으로 여겨진다.방법 호출에는 함수를 호출하는 것처럼 괄호를 사용해야 한다.

구조 방법


대상이 실례화될 때, 구조 함수 방법은 자동으로 호출됩니다.객체를 작성할 때 객체의 등록 정보를 초기화할 수 있습니다.구조 함수 방법은 일반적으로 다음과 같은 약정을 사용하여 명명한다.
function __construct() {
  $this->name = $name;
  $this->color = $color;
}

상속권


계승은 기류에서 한 개 혹은 여러 종류를 파생시키는 방법이다.
다른 종류에서 계승된 종류를 그것의 자류라고 부른다.이런 관계는 통상적으로
부모와 아이의 조건.하위 클래스는 모 클래스에서 파생되며 모 클래스에서 피쳐를 상속합니다.이러한 피쳐에는 속성과 메서드가 포함됩니다.하위 클래스는 보통 상위 클래스(초클래스라고도 부른다)가 제공하는 기능에 새로운 기능을 추가한다.따라서 하위 클래스는 확장된 부모 클래스라고 불린다.
class Person {
  public $name, $address, $age; 
}

class Employee extends Person {
   public $position, $salary;
}
Employee 클래스에는 $position 및 $salary 속성, Person 클래스에서 상속된 $name, $address 및 $age 속성이 있습니다.하위 클래스의 속성이나 방법이 상위 클래스의 속성이나 방법과 동명이라면 하위 클래스의 속성이나 방법이 상위 클래스의 속성이나 방법보다 우선합니다.인용 속성은 하위 레벨의 속성 값을 되돌려주고 인용 방법은 하위 레벨의 방법을 사용합니다.

액세스 수정자


PHP의 속성 및 방법에는 가시성 또는 위치를 제어하는 데 사용되는 액세스 수정자(가시성 키워드)가 포함될 수 있습니다.세 개의 방문 수식자 있음;
  • Private: PHP의 속성이나 방법 접두사가 Private access 수식자일 때, 이것은 폐쇄 클래스에서만 속성이나 방법에 접근할 수 있음을 의미하며, 하위 클래스도 접근할 수 없다는 것을 의미합니다.
  • 보호:
    폐쇄류와 폐쇄류에서 파생된 류.
  • Public: 모든 컨텍스트에서 속성 및 메서드에 액세스할 수 있습니다.기본값입니다.
  • 그럼 이게 우리한테 무슨 소용이 있을까요?액세스 수식자 노출 클래스만 허용
    고객이 요구한 겁니다.이것은 대상을 위해 뚜렷한 인터페이스를 설정했다.일반적으로 말하면, 잘못을 저지르는 것은
    프라이버시.우선 부동산을 사유화하거나 보호하고 필요할 때만 규제를 완화한다.많이(있으면)
    당신의 클래스 중 대다수는 아니지만, 궁금한 점이 있으면 다시 잠그세요.클래스의 다른 방법에 로컬 기능을 제공하는 방법은 클래스의 사용자와 무관하기 때문에, 이를 사유 또는 보호받는 것으로 설정하십시오.

    결론


    OOP가 가져온 이점은 이처럼 커서 오늘날 대상을 향한 언어가 아닌 언어를 도입하는 사람이 드물다.그리고 OOP에 대한 개념이 더 많습니다. 간단함을 유지하기 위해 저는 본고에서 이런 개념을 언급하지 않았습니다.OOP에는 많은 장점이 있다. 이 사실은 함수식 프로그래밍 등 다른 프로그래밍 기술이 무용지물이 되었다는 것을 의미하지 않는다. 당신은 OOP 스타일만 사용해야 한다.아니오, 제가 보기에, 특정한 기술이 당신의 특정한 용례에 매우 적합할 때만 그것을 실현할 수 있습니다.제 글을 읽어주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기