>백엔드 개발 >PHP 튜토리얼 >Li Yanhui의 PHP 비디오 튜토리얼 두 번째 시즌에 대한 권장 리소스

Li Yanhui의 PHP 비디오 튜토리얼 두 번째 시즌에 대한 권장 리소스

黄舟
黄舟원래의
2017-08-30 16:42:452826검색

영상 "Li Yanhui PHP 비디오 튜토리얼 시즌 2"는 "Li Yanhui PHP 비디오 튜토리얼 시즌 1"을 기반으로 PHP 학습을 심화합니다. 이 영상에서는 객체 지향적 사고, 실용적인 회원 등록 및 cms 관리 시스템에 대한 자세한 설명을 소개합니다. 이러한 지식 포인트의 학습을 통해 모든 사람의 힘이 크게 향상될 것이라고 믿습니다

Li Yanhui의 PHP 비디오 튜토리얼 두 번째 시즌에 대한 권장 리소스

강좌 재생 주소: http://www.php.cn/course/398.html

선생님 강의 스타일:

선생님의 강의는 생생하고 재치 있고 재치 있고 감동적입니다. 생생한 은유는 학생들에게 지혜의 문을 열어주는 마무리와 같습니다. 잘 배치된 유머는 마치 부드러운 와인 한 잔을 마시는 것과 같이 학생들에게 아는 듯한 미소를 가져다 주고, 사람들에게 철학자의 격언과 문화적 언급을 선사합니다. 내레이션에 때때로 삽입되어 사람들에게 생각과 주의력을 제공합니다.

이 영상에서 더 어려운 점은 객체 지향 객체입니다.

캡슐화는 객체 지향 프로그래밍의 세 가지 주요 특징 중 하나입니다. 캡슐화는 객체의 속성과 서비스를 독립적이고 동일한 것으로 결합하는 것입니다. 그리고 객체의 내부 세부사항을 최대한 숨기는 것은 두 가지 의미를 갖습니다:

1. 객체의 모든 속성과 서비스를 결합하여 분할할 수 없는 독립된 단위(즉, 객체)를 형성합니다.

2. 정보 숨기기, 즉 물체의 내부 세부 사항을 최대한 숨기고 외부 세계와 경계(또는 장벽을 형성)를 형성하며 외부 세계와 연결하기 위한 제한된 외부 인터페이스만 유지합니다. .

소프트웨어에 캡슐화의 원리를 반영한 ​​것은 객체 이외의 부분이 객체의 내부 데이터(속성)에 마음대로 접근할 수 없도록 요구함으로써 외부 오류의 "교차 감염"을 효과적으로 방지하고 소프트웨어를 활성화한다는 것입니다. 오류를 현지화하여 오류 감지 및 문제 해결의 어려움을 크게 줄입니다.

예를 들어 설명하겠습니다. 개인의 개체에 나이, 급여 등의 속성이 있는 경우 캡슐화를 사용하지 않으면 다른 사람이 그러한 개인 정보 보호 속성을 마음대로 얻을 수 없게 됩니다. 당신은 그것을 얻을 수 있지만, 당신이 그것을 캡슐화한다면 당신이 그것을 직접 말하지 않는 한 다른 사람들은 그것을 얻을 방법이 없을 것입니다.

예를 들어, 모든 개인용 컴퓨터에는 비밀번호가 있으며, 다른 사람이 마음대로 로그인하여 비밀번호를 복사하여 컴퓨터에 붙여넣는 것을 원하지 않습니다. 또한 사람과 같은 사물의 경우 키나 나이 등의 속성은 본인만이 늘릴 수 있고, 타인이 임의로 값을 부여할 수는 없다.

프라이빗 키워드를 사용하여 속성과 메소드를 캡슐화합니다.

원래 멤버:

<?php  
var $name; //声明人的姓名  
var $sex; //声明人的性别  
var $age; //声明人的年龄  
function run(){……}

캡슐화된 형식으로 변경됨:

<?php  
private $name; //把人的姓名使用private关键字进行封装  
private $sex; //把人的性别使用private关键字进行封装  
private $age; //把人的年龄使用private关键字进行封装  
private function run(){……} //把人的走路方法使用private关键字进行封装

액세스 제어가 기본값은 공개이며 어디서나 액세스할 수 있습니다.

<?php  
//这个人可以说话的方法, 说出自己的私有属性,在这里也可以访问私有方法  
function say() {  
    echo "我的名子叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this->age;  
    //在这里也可以访问私有方法  
    //$this->run();  
}

멤버 메소드 say()가 public이기 때문에 클래스 외부에서 say() 메소드를 호출할 수 있습니다. 위 코드를 변경하세요:

<?php  
class Person  
{  
    //下面是人的成员属性  
    private $name; //人的名子,被private封装上了  
    private $sex; //人的性别, 被private封装上了  
    private $age; //人的年龄, 被private封装上了  
  
    //定义一个构造方法参数为私有的属性姓名$name、性别$sex和年龄$age进行赋值  
    function __construct($name, $sex, $age) {  
        //通过构造方法传进来的$name给私有成员属性$this->name赋初使值  
        $this->name = $name;  
        //通过构造方法传进来的$sex给私有成员属性$this->sex赋初使值  
        $this->sex = $sex;  
        //通过构造方法传进来的$age给私有成员属性$this->age赋初使值  
        $this->age = $age;  
    }  
  
    //这个人可以说话的方法, 说出自己的私有属性,在这里也可以访问私有方法  
    function say() {  
        echo "我的名子叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this->age;  
    }  
}  
  
//通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄  
$p1 = new Person("张三", "男", 20);  
$p2 = new Person("李四", "女", 30);  
$p3 = new Person("王五", "男", 40);  
  
//下面访问$p1对象中的说话方法  
$p1->say();  
//下面访问$p2对象中的说话方法  
$p2->say();  
//下面访问$p3对象中的说话方法  
$p3->say();  
?>

출력 결과:

我的名子叫:张三 性别:男 我的年龄是:20我的名子叫:李四 性别:女 我的年龄是:30我的名子叫:王五 性别:男 我的年龄是:40

위 내용은 Li Yanhui의 PHP 비디오 튜토리얼 두 번째 시즌에 대한 권장 리소스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.