MySQL, PHP: Introducing the concept and basics of OOP | lynda.com

객체 지향 프로그래밍이나 OOP에 대한이 장을 먼저 객체 지향 프로그래밍의 개념과 기본에 대해 이야기합니다 PHP는 스크립팅 언어이거나 절차 언어라고도합니다

실제로 진정한 객체 지향 언어는 아닙니다 대신 스크립팅입니다 객체 지향 기능이 내장 된 언어입니다 PHP 40 처음 몇 가지 제한된 객체 지향 기능을 제공합니다

버전 50까지는 정말로 그렇지 않았습니다 우리는 PHP에서 객체 지향적 인 지원을 받았다 객체 지향 프로그래밍이 필요합니까? 스크립팅 및 절차가 모두있는 경우 PHP가하기를 원한다면 OOP가 필요 없을 것입니다 사실, 심지어 나쁜 선택

결국 파산하지 않았다면 고치지 마라 하지만 너라면 PHP보다 더 강력하게 밀어 넣고 복잡한 작업을 많이하도록 요청하면 OOP가 정확히 필요한 것일 수 있습니다 무엇에 대해 선입관을 갖게하지 마라 스크립팅 언어는 할 수 있거나 할 수 있으며, 가능성으로부터 당신을 제한합니다 PHP의 객체 지향 프로그래밍에 대해, 그리고 무엇보다도 두려워하지 마십시오

이리 엄지 손가락의 규칙입니다 나는 항상 간단한 사이트에서 객체라고 말한다 지향 프로그래밍은 불필요한 복잡성을 추가하지만 복잡한 사이트의 경우 객체 지향 프로그래밍 필요한 단순성을 추가합니다 이제 너 자신에게 물어볼 수있는 다음 질문 물건이란 무엇입니까? 글쎄, 가장 간단한 방법으로, 객체는 단순히 그룹으로 묶는 것입니다 공통 테마로 함께 코드화하십시오

그래서 당신이 그 일의 일부를 생각해 보면 우리는 Essential Training에서 많은 기능을 수행했습니다 양식 작업 우리는 그것들을 모두 폼 객체로 굴릴 수있었습니다 그리고 나서 우리 코드는 그룹으로 묶여있을 것이고 우리는 폼 객체에서 모든 폼 함수를 찾으십시오 이제 우리는 그것들을 사용할 수있는 더 복잡한 방법이 있습니다

그것들을 묶어서 그룹핑하는 것이지만 실제로 우리 코드의 구조를 추상화하는 것 개체로 즉, 우리의 소프트웨어 객체를 실세 대상 그리고 이것은 우리가하고있는 많은 것들이 우리는 객체라고 생각합니다 우리는 페이지를 가지고 있으며, 페이지는 객체가 될 수 있습니다 또는 양식 일 수 있습니다

양식은 개체가 될 수 있습니다 그것들은 실제의 물리적 인 물건 일 수 있습니다 세상과 같은 방식으로 고객이나 학생, 장바구니를 가질 수 있습니다 그것들은 모든 대상이며, 우리는 그것들을 우리의 머리 속에 붙들고 그것들을 대상으로 생각할 수 있습니다 객체는 일을 할 수있는 기능뿐만 아니라 그들도 속성을 가지고 있습니다

그래서 우리는 첫 번째가있는 학생을 갖게 될 것입니다 이름과 성 또는 장바구니에 총 수량이 포함되어 있어야합니다 그 이러한 객체 각각의 속성이며, 우리가 쉽게 생각할 수 있습니다 왜냐하면 우리는 그러한 방식으로 우리 머리 속에있는 사물을 생각하는 데 익숙하기 때문입니다 우리가 작업을 시작할 때 객체가 무엇인지 명확 해 지겠지만 먼저 우리가 프로젝트에서 가질 수있는 전형적인 PHP 코드를 살펴보십시오

우리가 작업 중입니다 우리는 이름이 John 인 학생, 그의 마지막 학생 인 John 이름이 Doe 인 경우 다른 학생 Mary와 Smith가있을 수 있습니다 그럼 우리가 원한다면 학생의 성명을 알아 내면 우리가 통과 할 수있는 기능을 갖게 될 것입니다 그 두 가지 가치, 메리와 스미스 그리고 그것은 메리 스미스를 우리에게 돌려 보낼 것입니다 그들 사이의 공간

우리는 전에 그런 종류의 일을 해왔지만, 우리는 할 수 있습니다 우리가 많이 시작하면 이것이 어떻게 붕괴되기 시작하는지 이미 알고 있습니다 더 많은 복잡성 이것은 우리가 두 가지를 다루는 곳입니다 학생과 함께 이름을 정리하는 간단한 기능을 제공합니다

우리가 많이 가진다면 어떨까요? 그때 기능의? 우리가 원하는 과정을 알고 싶다면 어떻게해야할까요? 학생은 안으로 있니? 나는 그 각각이 무엇인지 정의하는 간단한 배열을 가질 수있다 그것들 각각에 약간의 복잡성이 있다면? 내가 싫다면? 학생의 코스는 영어이지만 1시에 시작하는 영어 수업 수요일에 그런 다음 더 많은 복잡성을 가지기 시작합니다 그들이 우리를 끌어낼 수 있기 때문에 우리를 잘 섬길 것입니다 모든 복잡성을 우리가 작업 할 수있는 매우 간단한 데이터 구조로 변환합니다

그렇다면 객체가 프로그래밍에서 우리에게 유용 할 이유는 무엇입니까? 그들은 -을 할것이다 우리에게 더 나은 코드 구성과 유지 보수성을 제공하십시오 우리 모두를 함수와 변수를 폼 객체 인 무언가로, 우리는 양식을 변경해야 할 때 어디로 가야하는지 바로 알 수 있습니다 학생과 관련된 모든 규범을 단일 학생으로 함께 제출하는 경우 우리가 그 코드가 작동하는 방식을 바꾸고 싶을 때, 우리는 어디로 가야할지 잘 압니다 우리는 그 물체로 곧장 가고 우리는 변화를 만듭니다 또한 명확성을 추가하고 복잡성을 줄여줍니다

이러한 복잡한 데이터 비트에 대해 생각해보십시오 학생들, 그 모든 속성들, 우리가 그것에 대한 많은 복잡성을 갖지만, 우리는 학생으로서 생각할 수 있으며 학생에게는 그 모든 기능이 내장되어 있습니다 그래서 우리에게는 학생과 학생이 있습니다 그것은 될 수 있습니다 물음표, 물건을 묻는 메시지, 데이터를 반환하도록 요청할 수있는 물음표 매번 모든 복잡성을 탐색하지 않아도됩니다 우리가 객체에 넣는 간단한 규칙은 실제로 복잡한 것을 허용 할 수 있습니다

상호 작용 우리가 교실을 갖고 있고 학생이 있다고 잠시 생각해 봅시다 우리는 학생들을 교실에 배치하는 것과 같은 간단한 문장을 발표 할 수 있습니다 객체 자체는 복잡성을 가질 수 있습니다 당신이 그렇게하고, 수업이 가득 차 있지 않은지 확인하고, 학생에게는이 수업 시간과 충돌하는 수업이 없으며, 예를 들면

그런 다음 학생을 거기에 넣으면 총 수업 수를 업데이트 할 수 있습니다 수업은 얼마나 많은 학생들이 그것에 속하는지 추적 할 수 있습니다 모든 복잡성이 내장 될 수 있고 우리가해야 할 일은 학생들은 수업에서 그 단순한 규칙들이 모두 시작될 것입니다 그리고 그 때문에 프로 시저에 대한 데이터를 강조 할 것입니다 절차가 진행 중입니다

이 물건들 안에 우리를 위해 이미 미리 프로그램되어 있고 우리는 정말로 일할 수 있습니다 데이터와 데이터가 상호 작용하는 방식 객체는 또한 우리에게 코드 모듈성을 제공 할 것입니다 코드가 개별 섹션으로 분리되기 때문에 우리는 한 번에 한 섹션에서 작업하고 어떤 것을 다치게 할 염려는 없습니다 그밖에

우리가 개발자 팀을 가지고 있다면 이것은 굉장합니다 다른 개발자들 서로 다른 객체 세트에서 작업하고 간섭하지 않을 것입니다 서로 서로 함께; 코드가 분리됩니다 마지막으로 코드를 재사용 할 수 있습니다 복잡한 장바구니 객체를 작성하면 그 모든 기능 우리가 그 같은 장바구니 물건을 가져 와서 다른 물건으로 사용할 때 거기에있다

고객 그리고 마지막으로, 객체는 데이터베이스 우리가 학생들의 테이블을 가지고 있다면, 그 학생들은 각각 사물이다 우리가 교실 테이블을 가지고 있다면, 각 교실 객체 일 수 있습니다 우리가 차의 테이블을 가지고 있다면, 각 차는 객체가 될 수 있습니다

에 따라서 객체 지향 프로그래밍은 데이터베이스 작업에 적합합니다 이제는 이것이 사용의 개념과 장점에 대한 충분한 배경이라고 생각합니다 사물 우리가 시작하자마자 조금 더 이해하기 시작할 것 같습니다

실제로 코드와 그것이 다음 영화에서 우리가 할 일입니다 클래스를 정의하기 시작합니다

PHP Objects (Part 1)

안녕하세요, PHP 및 객체 지향 프로그래밍에 관한 장을 환영합니다 PHP에 관한 한 가지 중요한 점은 PHP의 역사를 살펴 보는 것입니다

확실히 객체 지향 프로그래밍 언어로 시작하지는 않았습니다 처음에는, 그것은 단지 너무 많은 일종의 멋진 컴퓨터 과학 개념으로 생각되었습니다 그래서 PHP 4는 객체 지향 프로그래밍이 아닙니다 3과 2는 아니었고, 5와 7은 물론 객체 지향적이었습니다 그리고 PHP 커뮤니티에서이 놀라운 플립이 발생했습니다

객체 지향 프로그래밍에 반대하는 것으로부터 매우 프로 지향적 인 프로그래밍이되는 것 그래서이 수업에서 가르쳐야 할 많은 것들이 객체 지향을 사용하지 않지만 무겁게 프로그래밍 그것은 좀 더 전통적인 방식을 사용합니다 Symphony 나 Laravel과 같은 프레임 워크를 보면, 그들은 미친 듯이 물건을 말할 것입니다

그리고 만약이 과정을 Symphony와 Laravel로 바꾼다면 나는 문자 그대로 거의 객체 지향 프로그래밍을 가르쳐야 할 것이다 강의 그러나 지금, 나는 그것을 배울 더 나은 시간이 있다고 생각합니다 언어를 배웠고 약간의 일을 마친 후에

그러나 도서관, 나는 객체 지향 패턴을 선호합니다 아주 초기에 이해하는 것은 좀 더 복잡합니다 그래서 나는 초보 사용자들에게 바로 가르치기를 좋아하지 않습니다 하지만 확실히 인기가 있고 모든 것이 PHP에서 그 방향으로 향하게됩니다 그리고 그것은 좋은 일이라고 생각합니다

나는 PHP가 좋다고 생각하지 않기 때문에 이것이 좋은 것이라고 생각한다 당신이 배울 수있는 첫 번째 언어 여야합니다 그렇다면 객체 지향 프로그래밍이란 무엇입니까? 그럼 그것은 하나의 패턴입니다 이는 코드와 데이터를 구성하는 일종의 방법 일뿐입니다 그런 말 대신에

나는이 프로그램에 약간의 변수가 있고 코드를 가지고있다 일부 ifs 및 일부 루프, 그런 것들 우리가 말하고자하는 것은 데이터와 코드의 사일로를 거의 만들지 않을 것입니다 그리고 나서 우리는 그것들을 함께 연결 시켜줄 것입니다 그것은 그것의 높은 수준입니다

그리고이 강의에서 제가 주로 수행하고자하는 것은 술어 그래서 지금부터 휴대용 데이터 객체, PDO에 관해 이야기 할 것입니다 나는 말할 수 있습니다 그리고 그것은 수업이고 그것은 방법이고 그것은 속성입니다 우리는 그 대상을 만들었습니다

나는 그것을 말할 수 있기를 원하며 당신이 그것을 이해하기를 바랍니다 그래서 이것을 객체 지향적 인 방법으로 구축하는 기술은별로 없다고 생각하십시오 계층 또는 [SOUND]를 선택합니다 정말 [웃음] 나는이 말을 평범한 대화에서 사용할 수 있습니다 너는 그들을 이해할 것이다

그래서 우리가 배울 큰 단어는 수업입니다 어떤 데이터와 코드를위한 템플릿입니다 개체 또는 인스턴스이 템플릿을 가져옵니다 그리고 저는 쿠키 커터를 사용합니다

클래스는 쿠키 커터와 같습니다 객체는 쿠키와 같습니다 따라서 한 쿠키 커터는 효과적으로 많은 쿠키를 스탬프 처리 할 수 ​​있습니다 그것은 완벽한 모델입니다 클래스와 객체 내부에는 메소드와 속성이 있습니다

그것들은 클래스에서 정의되고 있으며 객체에 생성 중입니다 따라서 클래스는 스스로 공간을 거의 차지하지 않습니다 그들은 단지 우리가 원할 때, 우리는 대상을 만들 수있는 템플릿입니다 그래서 종류의 종류는 것의 특성을 결정한다, 맞죠? 그냥, 알았어 여기에는이 작업을 수행하는 몇 가지 기능이 있습니다

이 작업을 수행하는 데 필요한 데이터가 있습니다 이 데이터는 비공개이며이 데이터는 공개됩니다 그것은 청사진입니다, 쿠키 커터입니다 그것은 물건을 만드는 방법입니다 그것은 일반적인 것입니다, 그것은 뭔가에 대한 묘사의 일반적인 종류입니다

그러면 우리는 클래스를 인스턴스화하거나 클래스를 생성합니다 우리는 클래스를 생성하고 여러 번 인스턴스화 할 수 있습니다 우리는이 클래스 인 x라는 변수를 가질 수 있습니다 우리는 그 클래스의 다른 버전 인 변수 y를 가질 수 있습니다 그 클래스의 다른 사본

그리고 수업을 듣고 쿠키를 찍어서 사용하십시오 수업을 듣고 쿠키를 찍어서 쿠키 한 개에 설탕을 얹고 다른 쿠키에 다른 설탕 프로 스팅 인스턴스가 쿠키이고 템플릿 인 쿠키 커터가 클래스입니다 메서드는 내부의 함수를 구별하기 위해 사용하는 단어입니다 함수의 클래스는 다른 곳에 있습니다

그래서 수업에는 방법이 있지만 이것들은 실제로 클래스 내부에서만 존재하는 함수입니다 그래서 클래스 외부에서 함수를 만들고 XYZ라고합니다 그리고 시스템 전체와 PHP 전체에 XYZ라는 함수가 하나만있을 수 있습니다 하지만 개라는 클래스를 가질 수 있으며 함수 XYZ를 가질 수 있습니다 함수 XYZ를 가진 cat이라는 클래스

이것은 네임 스페이스 또는 사일로 처리입니다 그리고 함수에 대한 관점에서 생각하면됩니다 지역 변수와 같을 것입니다 이것이 무엇인지를 제외하고, 그것은 클래스 내에서 로컬 함수입니다 그것은 단지 함수이고, 구문을 살펴 보겠습니다

당신은 그것이 단지 함수라는 것을 알게 될 것입니다 이제 문자열 함수와 같은 것에 대해 이야기 할 때, 정말로 중요하거나 날짜 기능 등 이 이상한 패턴이 보입니다 그리고 PHP에서 가장 어려운 점 중 하나입니다 문자열 함수의 매개 변수의 순서가 무엇인지 기억하는 것입니다

[LAUGH] 특히 문자열 교체 그리고이 라이브러리들은 PHP 1, 2, 3에서 빌드되었고, 그들은 비 객체 지향 프로그래밍 라이브러리였습니다 따라서 모든 기능은 객체 지향 프로그래밍이 없을 때 전역 적입니다 당신은 클래스 안에 사는 메소드를 가지고 있지 않습니다 그리고 클래스 내부의 메소드는 아름다운 것입니다

당신은 결국 그것이 얼마나 아름다운지를 결국 이해하게 될 것입니다 그러나 객체 지향 프로그래밍 이전에 우리는 정렬을 유지할 방법이 필요했습니다 빼기의 개념, 맞죠? 두 줄을 빼고 싶니? 두 개의 배열을 뺄까요? 두 날짜를 빼고 싶니? 두 개의 whater을 빼고 싶니? 맞습니다 그래서 우리가 한 일을 모든 언어가 이것을합니다 당신은 접두사를 붙이는 경향이 있습니까? 그래서 create, date_create 또는 date_add는 내가 할 일을 의미합니다

또한 날짜와 관련이 있거나 날짜를 만들 예정입니다 그리고 만약 내가 문자열을 할거라면 나는 string_add, string, str_, str_this 또는 str_replace 그래서 우리는 일종의 이름 공간이라는 작은 섬을 만들어 냈습니다 접두어 만 붙이세요 그러나 당신은 그들이 잊었던 것을 알아 차릴 것입니다, [웃음] 그들은 모든 일에 그것을 두지 않습니다

그 중 일부는 심지어 파이썬 1까지 계속 돌아갑니다 그리고 이것은 사전 객체 지향입니다 그리고 당신이 문서를 읽을 때, 당신이 한 세트의 모두 같은 접두사를 가진 함수 그것은 옛날부터의 일종입니다 이제는 객체 지향 프로그래밍이 있습니다

우리는 둘 다 래핑 된 라이브러리 코드 중 일부를보기 시작할 것입니다 객체 지향의 함수와 메소드 세트 뿐만 아니라 비 객체 지향적입니다 그래서 이것은 클래스에서 일종의 것을 제외하고는 같은 DateTime과 같습니다 여기에 DateTime 클래스가 있습니다

그리고 그것은 마치 작은 고립과 같습니다 여기에는 PBO 및 기타 수업과 같은 다른 것들이 있습니다 그래서 여기에서 add라는 함수와 같은 것을 사용할 수 있습니다 그리고 그것은 add라는 전역 함수가 아닙니다 이는 DateTime 클래스 내부의 add라는 함수입니다

그리고 이것들은 여기에있는 방법들입니다 그래서 정말 편리합니다 이제 우리는 이러한 방법을 가장 합리적인 방식으로 명명 할 수 있기 때문에 프로그래머로서 우리에게 둘 다 클래스 작성자 및 클래스 사용자입니다 그리고 중요한 부분은 당신이보고있을 때를 인식 할 수 있도록 정렬하는 것입니다

객체 지향 문서화에서 그리고 당신이 비 객체 지향 문서를보고있을 때 PHP의 많은 문서들처럼 말하기에 아주 좋습니다 우리는이 버전이 작동하는 버전을 알려줍니다 따라서 PHP 5

2 이상의 DateTime 클래스 만 사용할 수 있습니다 그것은 실제로 매우 안전합니다 PHP 7은 아직 어디에도 없습니다 PHP 52에서는 현재 시점에서 PHP 5

2를 사용하고 싶습니다 그것은 꽤 안전한 내기입니다 따라서 우리가 일종의 코딩 패턴을 보면, 너는 이것으로 여러 가지 일을하고있다 그리고 비 객체 지향적 인면에서 당신은 날짜를 말합니다 시간대를 설정하고 시간이라는 전역 함수를 호출하십시오

시간은 1970 년 이래로 몇 초를줍니다 그리고 이제 실제로 이것은 더 많은 7 일의 초를 더합니다 우리는 날짜 계산을하고 있습니다 서식을 지정하고 오늘의 날짜 형식과 년, 월, 일을 지정합니다 그리고 나서, 우리는 다음 주인 nextWeek를 통과해야합니다

그 때마다, 그것을 포맷하십시오 그래서 당신은 비 객체 지향 패턴에서 보았습니다 데이터 인 추가 매개 변수를 추가해야하는 경향이 있습니다 그리고 문자열에서 우리는 그것을 보았죠, 그렇죠? 검색 문자열, 바꾸기 문자열 및 당신이 수정하고있는 것 객체 지향 패턴 인 oo에서는 그럴 필요가 없습니다

이제 어떻게 작동하는지 살펴 보겠습니다 그래서 우리는 Now라는 새로운 변수를 만들 것입니다 그리고 그것은 새로운 DateTime입니다 이 Now는 클래스이고 이것은 첫 번째 인스턴스입니다 그것은 대상입니다

이제는 대상입니다 우리는 DateTime을 가져 와서 쿠키를 찍었습니다 그리고 지금은 지금입니다, 알았죠? 또한 하나의 템플릿에서 많은 인스턴스를 만들 수 있습니다 그래서 우리는 또 하나를 만듭니다 우리는 문서를 보았습니다

그것은 당신이 문자열과 오늘 주 더하기 다음주에 도착 말할 수있다 그래서 새로운 것은이 새로운 것이고, 클래스와 스탬프를 취하는 것입니다 그것은 각인 작업입니다 건설은 그것이 무엇이라고합니다 하지만 지금 우리가 할 수있는 것은 우리가 방법에 접근 할 수 있다는 것입니다

그리고 화살이 여기에있는이 작은 것은 여기에 하나의 대상이 있습니다 객체에서 format 메소드를 찾아 서식 문자열을 전달하십시오 그리고 나서 여기에 다른 객체가 있습니다 포맷 메소드를 찾으십시오 이 문자열을 전달하십시오

그래서 우리가 다른 값을 형식화하는 방법입니다 이 변수의 서식을 지정하고이 변수의 서식을 지정하고 있습니다 이제 우리는이 두 비트의 코드 사이에서 똑같은 출력을 얻고 있습니다 그래서, 좋은 점, 내가 좋아하는 것들 중 하나, 그리고 매우 간단한 예제 인 매우 간단한 예제입니다 내가 이걸 보면서 데이트 형식을 택할 것인가? 그럼 매개 변수의 순서는? 날짜 값이있는 변수 나 형식 문자열을 먼저 제공합니까? 권리

여기 정말 확실합니다 이것은 nextWeek 값인 변수입니다 우리는 형식 방법을 알고 있으며 단 하나의 매개 변수 만 있습니다 그리고 이것은 제가 비 객체 지향 패턴보다 더 나은 패턴을 좋아하는 곳입니다 그럼, 조금 이야기하고, 다음에 올라가서, 우리가 이러한 것들 중 하나를 스스로 만드는 방법에 대해 조금 이야기하십시오

[음악]

PHP Object Oriented Programming (OOP): Build a Calculator (12/13)

이제 우리는 예제 응용 프로그램으로 계산기 그리고 당신은 여기에서 볼 수 있습니다, 이것은 기본적으로 사물이 작동하는 방식입니다

우리는 우리가 인스턴스화하는 주요 Calculator 클래스를 가지고 있습니다 나는 이것을 c라고 불렀다 우리가 할 수있는 일은 add와 같은 메소드를 사용하는 것이 아니라, 또는 빼기, 나누기, 곱하기, 우리는 실제로 우리는 실제로 인스턴스화하고 있습니다 우리가하고 싶은 것, 그래서 새로운 덧셈기 그리고 여기서 볼 수 있듯이, 이것은 자체적으로 분리 된 클래스입니다

그리고 일단 우리가 작업을 설정하면 우리가하고있는 일을합니다 예를 들면, 추가, 나누기, 빼기 – 이걸 저장할 수 있어요 네가 원한다면 여기 변수에 따라 우리는 calculate 메서드를 사용하고 있습니다 숫자의 무제한 전달, Get Result를 사용하여 결과를 출력합니다 그래서이 경우 우리는 20과 30을하고 있습니다

우리의 새로운 가산자는 50이고, 2로 나눈 값은 25이며, 5를 뺀 다음 20을 곱한 다음 5를 곱하면 100이됩니다 이제 우리가 브라우저에서 결과를 보면, 당신은 우리가 100을 얻는 것을 볼 수 있습니다 그래서 우리는 이것을 창조 할 것이고, 다른 것들을 배울 것입니다 우리는 지금까지 배웠습니다 이제부터 처음부터이 글을 시작하겠습니다

그래서 우리가 만들고자하는 첫 번째 것 계산기 클래스 그 자체 다 그래서 메인 디렉토리 안에 빈 폴더가 있습니다 "클래스"라고 불렀습니다 여기에 새 파일을 만들어 봅시다 이 Calculator

php를 호출합니다 여기에서이 클래스를 정의합시다 우리가 여기서 무엇을 보관하고 있는지 알아야합니다 제 경우에는 두 가지 속성을 저장하고 싶습니다 하나는 결과이고, 하나는 현재 작업입니다

우리가하려고하는 일 때문에 인덱스에서 본 Set Operation 메서드를 사용하고 있습니다 페이지에서 실제로 원하는 작업을 설정합니다 여기에 우리가 원하는 것을 저장할 것입니다 하나는 결과가 될 것입니다 그래서 이것은 계속 진행되는 결과를 저장할 것입니다

우리가 계산기를 인스턴스화하는 것만 기억하십시오 일단 클래스에 추가하면, 우리는 당신이 원한다면, 이 결과에 결과의 기록을 남기거나 따라서 우리는 원하는만큼의 작업을 수행 할 수 있습니다 그래서 우리는 또한 작업을 저장하고 싶습니다 설정 작업을 사용하여 작업을 설정합니다 방법을 사용하므로 지금 바로 만들어 보겠습니다

이제 이건 조금 더 까다 롭습니다 왜냐하면 우리는 여기서 작업을 통과하기를 원하기 때문입니다 그리고 우리는 분명히이 작업을 설정하기를 원합니다 이제이 작업은 객체 – 인스턴스화 된 객체 – 새로운 가산기, 새로운 감산기, 새로운 분할기, 또는 새로운 승수 그래서 우리는 여기서 이것을 설정할 수 있습니다

따라서이 작업은 Operation과 같습니다 그래서 우리는이 작업을이 작업으로 전달하도록 할당합니다 하지만 이것을 입력해야합니다 이제 우리는 그것을 입력 할 수 없습니다 우리의 색인을 기억하십시오

잠시 전에 우리는 새로운 덧셈자를 전달할 수 있음을 보았습니다 새로운 승수 등 승수는 말할 수 없습니다 입력을 위해 여러 개의 클래스가 있어야한다는 것을 의미합니다 각각 하나씩

우리가 할 일은 우리가가는거야 이것을 인터페이스에 코드화합니다 그리고 우리는이 OperatorInterface를 호출 할 것입니다 연산자 중 하나는 하나의 메소드를 구현해야하며, 그게 달렸어 그리고 그것은 그것에게 숫자를줍니다

그것은 현재 결과를 제공하여 그걸로 무언가를 할 수 있습니다 그러니 시도하지 말고 너무 복잡하게 만들자 우리는 가능한 한 최선의 방법으로 이것을하고 싶다 우리가 이것을 연장 할 수있는 가장 쉬운 방법입니다 자, 아마도, 가수

간단 해 그래서 저는이 Adder를 호출 할 것입니다 따라서이 클래스의 목적은 숫자를 추가하는 것입니다 우리는 여기서 각 반의 목적을 분리하려고합니다 그래서 저는이 Adder

php를 호출 할 것입니다 분명히, 계산기에는 목적이 있습니다 더하기와 빼기,하지만 꼭 그런 것은 아닙니다 그것의 유일한 목적, 그래서 우리는 이것을 우리 가수에게 넘깁니다 이제 가수의 내부에서 우리는 가고있다

실행이라는 기능이 있어야합니다 그리고 이것은 달리라는 유일한 방법입니다 이것이 우리가 가질 유일한 방법입니다 그리고 이것은 숫자와 현재의 결과를 취할 것입니다 그래서 우리는 그 결과와 숫자를 돌려 줄 수 있습니다

그래서 우리가 0에서 시작한다고 가정합시다 우리가 계산기를 인스턴스화하고 숫자를 추가 할 때, 우리는 0에 추가하고 있습니다 숫자 0에 계속 추가됩니다 따라서 현재 결과는 0 일 것입니다 이것이 여기에 있습니다

색인 페이지에서 더 이상 들어가기 전에, 우리가 필요로하는 모든 것을 요구하기 시작하십시오 그래서 클래스 / Calculatorphp에서 필요로하자 그리고 가산기에서 요구해 봅시다 우리가 할 일은 우리가 계속 새로운 수업을 만들고, 그리고 우리는 아마 우리가 그 다음에 할 수있는 감산기를 할 것입니다

이 인터페이스를 쓰기 시작하십시오 그래서 Subtractorphp, 그리고 이것은 가고 있습니다 Subtractor라는 클래스가 될 수 있습니다 멋지다

그래서 우리는 여기서 Run 메서드를 원한다 그게 들어 와서 기억하고, 우리가 뺀 숫자와 결과 그래서 이번에 우리가 얻을 수있는 것은 무엇입니까? 결과를 반환하는 것입니다 이번에는 숫자를 뺀 것입니다 예를 들어, 가산기를 사용하여 10을 더했습니다

10을 더하면 0이됩니다 이것은 10입니다 그러면 5를 뺄 수 있습니다 10에서 5는 5가됩니다 내가 말했듯이, 이것 모두를 모으기 시작합시다

우리는 계속해서 감산기에서 요구할 것입니다 이제 인터페이스를 살펴 보겠습니다 앞서 언급했듯이 인터페이스가 중요합니다 우리가 여기에서하고 싶은 것은 이것을 입력하는 것이기 때문입니다 인터페이스로 입력 할 수도 있습니다

여기에 새로운 수업을 만들어 봅시다 그리고이 OperatorInterface를 호출 할 것입니다 Interface OperatorInterface라고합시다 그리고 이것은 – 모든 수업 이 인터페이스를 사용하여 Run 메서드를 구현해야합니다 그리고 Run 메서드는 숫자와 결과를 가져야합니다

가산기와 감산기 내부에서 보았 듯이 이제이 OperatorInterface를 구현해 보겠습니다 그리고 우리는 감산기에 대해서도 똑같이 할 것입니다 그래서 이것은 OperatorInterface를 구현합니다 그리고 우리는 곱셈과 나눗셈을 위해서 이것을 할 것입니다 게다가

이제 우리는 이것을 얻었습니다 모든 것이 작동하는지 확인합시다 우리는 인스턴스화 할 것입니다 OperatorInterface 클래스의 인터페이스에서 Require입니다 이제 새로운 계산기를 만들거나 인스턴스를 만들어 봅시다

우리는 거기에 괄호가 필요하지 않습니다 그것으로 무엇이든 지나치게 그리고 우리는 Operation을 설정한다고 말할 것입니다 그래서, C, set Operation – 나는 그것이 조작이라고 생각한다 그리고 우리는 새로운 가산기를 만들 것이다

거기에 먼저 이것이 효과가 있는지 확인해 봅시다 좋아요, 모든게 효과가있는 것처럼 보입니다 그래서 여기에 우리가 var_dump를 수행한다면, 전달 된 작업자 또는 작업 그것이 통과되었습니다 우리는 가산기를보아야합니다

완전한 따라서이 경우에는 다음을 입력하십시오 OperatorInterface에 입력하십시오 이들 각각은 확장 – 구현 – OperatorInterface는 OperatorInterface라고 할 수 있습니다 이제 일어날 일은 그 일들입니다

하지만 우리가 패스하면 개발자가 이 코드를 사용하면 혼란스럽고 그것은 문자열입니다 이제 뭔가 할 경우 어떻게 될 것인가? 우리가 새로 고침 할 때가 이렇게되면 구현해야한다고 인터페이스 OperatorInterface 그리고 문서 나 코드를 빠르게 살펴보고, 당신은 보게 될 것입니다, 좋습니다, 저는 구현할 필요가 있습니다 – 나는 이것을 가산기 또는 감산기로 사용할 필요가있다 여기에 새 덧셈자를 말하겠습니다 자 그럼 실제로 뭔가 추가해 봅시다

아무것도,이 경우에는, 상당히 직설적이 될 것입니다 우리가 원하는 것은 calculate라고 말하고 싶습니다 나는 이것이 당신이 원하는 무엇이라도 불릴 수 있다는 것을 의미합니다 아마도 Calculate가 가장 좋은 메소드 이름은 아닙니다 그러나 나는 10과 50을 계산하고 싶다고 말할 것입니다

그래서 10을 더하고 50을 더하고 싶습니다 그러면 어떻게 처리할까요? 우리는 number1과 같은 것을 말해야합니까? 이것을 할 필요가 없습니다 PHP의 함수 인 func_get_args를 사용할 수 있습니다 기본적으로 전달 된 모든 인수를 반환합니다 또는 매개 변수 또는 무엇이든 그들을 호출하고 싶다면, 방법 또는 기능을 통해

func_get_args에서 간단한 print_r을 실행 해 봅시다 이게 어떻게 생겼는지 보러 그리고 아직 여기 새로 고침을하십시오 그래서 우리는 지금 우리가 배열을 가지고 있음을 볼 수 있습니다, 첫 번째 요소 인 10과 두 번째 요소 인 50을 얻었습니다 그래서 우리는 이것들을 반복하여 작업을 수행 할 수 있습니다

여기에 우리가 필요한 것은 foreach 루프입니다 그래서 저는 foreach func_get_args를 숫자로 말할 것입니다 – 여기에 몇 가지 추가 점검을 할 수도 있습니다 func_get_args 내에 실제로 아무것도있는 경우 하지만 당신이 원하는대로 추가 할 수 있습니다 네가 원하는대로해라 이제 우리가 할 일은 결과를 정하는 것입니다

그래서 나는이 결과를 말할 것입니다 결과를 기억하십시오 우리가 계산기 객체 안에 저장하고있는 것입니다 건네받은 이들을 사용합니다 그럼 우리가 어떻게해야합니까? 여기에 연산자를 저장합니다

그래서 여기에 접속할 수 있습니다 이제이 연산자라고 해 봅시다 알았어, 오, 수술이지? 이제 우리는 각 연산이 – 가산기 또는 빼기, 뭐든간에 Run 메서드를 구현합니다 이제 우리가해야 할 일은 숫자를 전달하는 것입니다 이 루프 내에 있고 현재 결과는 우리는이 결과가 여기에 있음을 압니다 getResult 메소드를 신속하게 구현해 보겠습니다 이 결과를 반환합니다

그래서 우리가해야 할 일은이 결과를 반환하는 것입니다 그리고 그게 다야 그럼 이것을 확인해 봅시다 여기 새로 고침 아무 일도 없었으므로 오류가 없다고 가정 할 수 있습니다

인덱스 페이지로 돌아가서 이제 echo c get Result를 실행 해 봅시다 그럼 이것을 확인해 봅시다 우리는 60 점을 얻어야합니다 이제 우리가 해냈습니다 이것의 아름다움은 우리가 이미 빼기 기능을 별도로 만들었습니다

우리는 계산기 클래스를 전혀 수정할 필요가 없습니다 사실에 의존하지 않기 때문에 그것은 어떤 종류의 뺄셈 방법을 구현할 필요가있다 또는 그것에 관한 무엇인가 따라서 문자 그대로 복사하여 붙여 넣을 수 있습니다 새로운 뺄셈기를 말하십시오

그래서 60에서 우리는 아마 30을 잡을 것입니다 그래서 여기에 우리는 60을 가졌고 30을 빼야합니다 우리는 결국 30으로 끝나야합니다 그래서 거기에 우리가 있습니다 이제 새로운 연산을 구현하고자한다면, 우리는 여기서 새로운 수업을 만들 수 있습니다

그래서 저는이 승수를 호출 할 것입니다 이것을 구현해야한다는 것을 기억하십시오 OperatorInterface 그리고 우리가 더 나아 가기 전에 이것을 빨리 저장해 봅시다 그래서 Multiplier

php입니다 그리고 공개 메소드 실행을 만들 것입니다 그리고 이것은 숫자와 결과를 취할 필요가 있습니다 그래서이 경우 우리는 번식하는 방법을 알고 있으므로 우리가해야 할 모든 것 결과를 우리가 전달한 숫자로 곱합니다 그리고 그게 전부입니다

내가 잘못한게 없으면, 괜찮을거야 우리는 분명히 이것을 포함하지 않았습니다 자동 로딩을 사용하는 경우이 작업이 훨씬 쉽습니다 우리는 이것을 다음으로 살펴볼 것입니다 그러니 계속해서 구현하거나 오히려 포함 시키십시오

우리 배율기를 사용하고, 그럼 그냥 음, 이것을 입력 해 보겠습니다 그래서 setOperation

새로운 승수 그래서 이것이 의존성 주입이라는 것을 기억하십시오 우리는 계산기 내에서 이것을 인스턴스화하지 않습니다 우리는 의존성으로 주입하고 있습니다 이제 우리는 c를 계산 하자고 말할 수 있습니다

어쩌면 5 번 정도 그리고 거기에 우리가 간다 우리는 150 점을 얻는다 마지막으로 우리의 창조물을 보도록하겠습니다 Divider OperatorInterface를 구현합니다

그리고 당신은 이것의 이점을 볼 수 있습니다 정말로, 우리가하는 모든 일이 우리는 단지 새로운 수업을 만들고 그들을 포함시키고 있습니다 우리는 계산기 자체를 조정할 필요가 없습니다 그래서 우리는 이것을 Dividerphp라고 부를 것입니다

메소드를 구현합니다 OperatorInterface에서 작성된 그 숫자와 결과입니다 그리고 예상대로 결과를 반환합니다 우리가 통과 한 수로 나눈 값 이것을 여기에 포함 시키자

그리고 여기서 뭔가를 해보 죠 어쩌면 우리는 이것을 2로 나눌 수 있습니다 그리고 거기에 우리가 간다 그래서 우리는 75 점을 얻습니다 그래서 우리는 그것이 맞는 것을 압니다

그리고 그게 사실입니다 우리는 모두 자신의 일을하는 몇 가지 수업을 만들었습니다 그들은 모두 한 가지 책임이 있습니다 이것을 처리 할 계산기를 만듭니다 작업을 전달하는 것은 종속성 주입입니다

전달되는 모든 인수를 사용하여이를 계산합니다 그래서 우리는 30을 뺄 수 있습니다 그리고 우리는 50을 뺍니다 그리고 그것은 우리에게 완전히 다른 결과를 줄 것이다 전부

그리고 그것은 정말로 그것입니다 그리고 우리는 분명히 결과 메쏘드를 사용하여 계산기에서 결과를 가져옵니다 그리고이 모든 서로 다른 의존성 운영자 인터페이스에 기록됩니다

Coding Standards php สอนเขียนโค้ด แบบมีมาตรฐาน ทำเว็บแบบโค้ดมีมาตรฐาน

코딩 표준 나는 너에게 질문이있다 일부 사람들은 PHP 대괄호를 열고, 일부는 대괄호를 사용하지 않으며, PHP도 작동하지 않습니다

이것이 표준이면 <? Php?>입니다 if say if if say if PHP에는 세 가지 유형의 주석이 있습니다 제어 구조 쓰기 다음으로, else 절이 중} 호의 단락 인 경우 else가 있음을 볼 수 있습니다 condition이 true이면 대} 호가 동일합니다 첫 x 째 단락은 대} 호에 있습니다

그것은 swith와 작동하며 그것은 상태입니다 그것은 매우 길다 첫 번째 조건 외부에 조건을 작성합니다 포함 배열 배열은 항상 (,)을 사용합니다 배열은 항상 등호 이상의 것을가집니다

(=>) 그리고 공간 단락 1 꽤 될 것입니다 인덱싱 된 대괄호로 배열을 결정합니다 배열 변수는 사각형이 선언되기 전에 줄 앞에 선언됩니다 함수 정의 정의 이제 foo라는 함수가 있다고 가정 해 봅시다 호출 할 시간은 argement (,)입니다

나중에 짧은 변수 이름이 long으로 선언되면 가장 짧은 변수가 사용됩니다 Class를 작성하기위한 클래스를 작성하는 것은 Function Name 클래스와 비슷하며 Class Brace는 다른 라인을 열고 닫습니다 나중에 헤더 주석을 쓰는 것이 그 의미를 갖습니다 phpbb가 사본 인 경우 이름을 사용하여 저자를 mindphp 개발자 Team @으로 변경하십시오

Php Poo, Création de classe

안녕하세요, Baher입니다, 오늘부터 새로운 시리즈를 시작합니다 이 시리즈의 PHP에서 객체 지향 프로그래밍에 대한 비디오 자습서 우리는 지향 객체 프로그래밍을 배우지 않고 오히려 지향 객체에서의 PHP 사용 나에게있어이 시리즈에서 볼 수있는 것은 객체 지향 PHP를 시작하는 데 도움이 될 것이다

그러면 당신은 더 많은 것을 가지기 위해 당신 편에서 더 멀리 나아갈 수 있습니다 세부 사항 및 특징 보통 나는 너에게 보여주기 위해 노력할 것이다 간단한 예제와 짧은 비디오를 가능한 한 멀리 그래서 비디오 오늘 우리는 우리가 어떻게 PHP로 수업을 만들고 무엇을 볼 수 있습니다

이 클래스를 구성하는 요소 무엇보다도 수업이란 무엇인가? 사실 약간의 소개만으로도 클래스를 설명 할 수 있습니다 객체, 객체는 동물 자동차, 인간 우리는 클래스를 생성함으로써 시작하고, 예를 들어 객체로 취할 것입니다 그래서 나는 '클래스 빌딩'을 할거야 그래서 이것이 내 수업이므로 정말 간단하게 만들었습니다

우리는 빈 클래스를 말할 것입니다 아주 잘 그 안에 클래스는 변수를 가지거나 오히려 객체 지향적으로 호출 할 것입니다 속성 그래서 우리는 건물 색상으로 'var $ color'를 볼 것입니다 예를 들어 바닥의 또 다른 속성 번호를 가질 수도 있습니다 'floornumber'그래서 이곳은 재산이다 클래스에서 우리는이 객체가 만들 수있는 액션을 가질 수 있습니다 그들은 일반적으로 객체 지향적 인 방법으로 함수라고 부른다

예를 들어 function 'buildingsurface ()'는 매개 변수로 표면을 단순하게 만듭니다 에코 '건물의 표면은 다음과 같습니다'우리는 변수를 넣었습니다 여기에 있습니다 속성이 생성 된 다음 메서드가 생성되었습니다

이제 우리는 수업 시간에 가지 않고 우리는 우리의 목표에 생명을 불어 넣을 것입니다 그것은 간단하다 'building = new Building ()'은 클래스의 인스턴스이며 with 이 클래스 인스턴스는 클래스의 내용에 액세스 할 수 있지만 항상 그런 것은 아니지만 나중에 어떤 상황에서 볼 수 있습니다 예를 들어이 경우 클래스에 액세스하거나하지 않으면 예를 들어, 이제 우리는 메소드를 호출 할 것입니다 직접 건물 -> 빌딩 표면 (150m2) 150 평방 미터 그래서 여기에 우리는 우리 수업의 방법이 효과가 있는지 알 수 있습니다

우리는 우리가 우리 건물의 표면을 아주 잘 볼 수있는 페이지를 리프레시하고 150m2 후속 조치에 감사 드리며 다음에 다시 보자 안녕

PHP Training by TrainingConnection.com

안녕하세요, 제 이름은 Craig이고 저는 Chris와 I와 연수회에서 PHP 수업을 받았습니다 진실로 그것이 나에게 많은 도움이되었다고 말할 수 있습니다

나는 프로그래밍이 아닌 디자인 배경에서왔다 배경과 나는 지금 개념을 정말로 파악하고있다 크리스는 위대한 선생님입니다 나는 내 물건을 팔았다 오토바이 그래서 내가 수업을 지불 할 여유가 있었고, 확실히 그것의 가치가 있었다

그래서 나는 PHP, 디자이너 특히 더 많은 것을 얻으려는 사람을 추천하십시오 그것에서 많은 것을 그래서 Training Connections와 Chris를 적극 추천합니다 감사

Object-oriented programming tutorial: Referencing objects in PHP | lynda.com

PHP에서 참조는 별칭입니다 즉 두 개의 다른 변수가 동일한 변수에 쓸 수 있습니다

값 객체 변수가 실제 객체를 포함하지 않는다는 점에서 객체가 다릅니다 객체 자체의 식별자 이것을 증명하려면 주소에 대한 변수 사본을 만드십시오 사업

데모 끝에 다음 블로그를 추가하십시오 echo '<h2> Copying> AddressBusiness 참고 $ address_business_copy = address_business 마지막 데모에서 로직을 복사하십시오 address_business_copy address_business의 사본이거나 그렇지 않습니다

다음으로 address_ business_copy를 설정합니다 새로운 주소 공원으로 echo '<h2> address_ business_copy를 새 AddressPark로 설정하십시오 $ address_business = 새로운 AddressPark 그리고 같은 줄을 붙여 넣습니다

마지막으로 get class 함수를 사용합니다 객체 클래스의 이름을 가져옵니다 echo '<br/> $ address_business는 클래스'입니다 get_class ($ address_business) 또한 함수 인스턴스를 사용하여 논리적 인 결정을 내릴 수 있습니다

echo '<br/> $ address_business_copy는 주소 비즈니스 인 AddressBusiness의 $ address_business_copy 인스턴스입니다 이 마지막 줄은 address_business_copy가 AddressBusiness의 인스턴스인지 여부를 결정합니다 저장하고 브라우저에서 결과를보십시오 식별자로 복사하면 예상대로 오브젝트의 사본 데모 코드로 돌아가서 참조를 추가하십시오

address_business_copy 다음에 할당 기호를 추가하십시오 데모를 저장하고 다시 실행하십시오 이번에는 개체 비교는 핵심 객체에 취해진 액션이 참조 된 객체에 영향을 미친다는 것을 분명히한다 목적 다음 장에서는 PHP와 같은 객체를 설명 할 것입니다

표준 클래스 및 예외

PHP Object Oriented Programming (OOP): Dependency Injection (6/13)

그래서, 이제 우리는 클래스가 무엇인지, 그리고 어떤 메소드와 프로퍼티 상속이 무엇인지 알고 있습니다 우리는 기본적으로 [[? OOP?] 지금까지, 그러나 우리는 그것을 어떻게 활용할 지 아직 모른다

잠재력을 최대한 발휘하십시오 그래서이 수업에서 우리는 의존성 주입 및 가장 쉬운 방법 이것을 당신에게 설명하는 것은 데모입니다 그래서 가슴과 자물쇠라는 두 개의 파일을 만들 것입니다 그리고 이것들은 모두 수업이 될 것입니다 클래스 Chest, 클래스 Lock

이제 lock 메소드에는 보호 된 속성이 포함됩니다 는 lock이라는 메서드뿐만 아니라 잠겨 있습니다 그리고 [? ?]도 고정되어 있습니다 그리고이 모든 일은 돌아오고 잠겨 있습니다 이제 안에, 우리가 할 일 모두가있어

그렇습니다, 우리는 이것이 잠긴 것이 진정한 것과 같다고 말할 것입니다 그래서 우리는 자물쇠를 잠그고 있습니다 다음으로 가슴 안에는 Public Function Close가 있습니다 그리고 이것은 Lock이라는 통찰력을 갖습니다 따라서 이것을 true로 설정하면 자동으로 가슴을 잠그세요

우리가 거짓이라고 말하면 가슴을 닫을 것이고, 자물쇠를 잠그지 마십시오 그래서, 우리는 아직 아무것도 할 수 없습니다 우리는 여기에서이 속성에 접근 할 수 없기 때문에 그래서, 우리가해야 할 첫 번째 일은 그것을 고치는 것입니다 그래서 우리가해야 할 첫 번째 일은 생성자를 만듭니다

그리고 우리는 자물쇠를 끼울 것입니다 그리고 우리는 이것을이 자물쇠로 설정하려고합니다 그리고 우리는 그 속성을 만들 것입니다 여기, 보호 된 자물쇠 이제 우리가 할 수있는 것은, 우리는이 자물쇠를 말할 수 있습니다, 그러나 우리는 그것을하고 싶습니다

가슴을 고정시키는이 기능 따라서 잠금이 true 인 경우 – 사실 동일해야합니다 대신 equals – 그리고 그 모든 잘 작동합니다 우리가 할 수있는 일은 자물쇠가 닫혀 있습니다 – 죄송합니다

그래서 닫힙니다 우리는 [? 게터?] 그것을 위해, 닫힙니다 반환이 닫힙니다 그리고 여기까지, 우리가하는 모든 것은 닫힌 것입니다 그러면 우리가 할 수있는 일은 open이라는 또 다른 메소드를 추가하십시오

그리고 우리는이 자물쇠가 잠겨 있다면, 그런 다음 잠금을 해제하려고합니다 그래서 우리가해야 할 첫 번째 일은 그 방법을 여기에서 만들어야합니다 그래서 공공 기능 잠금 해제 그리고 우리가 할 일은 이것이 locked가 false와 같다고 설정하는 것입니다 이제 우리가 할 수있는 일은 여기 있습니다

이 자물쇠가 열립니다 그래서, 우리는 그 방법을 호출하거나 호출하고 있습니다 그리고 나서 가슴을 열면됩니다 따라서 closed는 false와 같습니다 이제 이것을 시험해 봅시다

Google 색인 파일에는 이 두 파일은 가슴과 자물쇠입니다 그리고 가슴, 가슴 – 새 가슴, 죄송합니다 우리의 구성 매개 변수로, 우리는 잠그고 있습니다 그래서 우리는 새로운 자물쇠가 필요합니다 하지만 우리가 아닌지 확인해 보겠습니다

오류가 발생합니다 괜찮습니다 여기에 오류가 발생했습니다 이제 우리가 할 수있는 일은 가슴 잠금이라고 할 수 있습니다 그리고 이것이 제대로 작동하는지 확인하기 위해, 사실 그것은 가까운 것이어야합니다

그리고 이것이 제대로 작동하는지 확인하기 위해, 우리는 여기서 말하려고합니다 그리고 우리는 똑같은 행동을 할 것입니다 자, 새로 고침을하면, 우리는 실종 된 것입니다 가슴을 고정시키고 자하는 위치를 지정해야합니다 따라서, 우리는 이것을 선택 사항으로 만들 것이라고 말할 것입니다

따라서 기본적으로 true로 설정합니다 그래서 매번 전달할 필요가 없습니다 우리는 거기에 갈 가슴이 닫힙니다 그러면 우리는 가슴을 열어 둘 수 있고 가슴은 열려 있습니다

이제 우리가 여기있는 한 가지 문제는 할 수 있습니다 여기에 객체를 전달하는 대신 우리가 할 수있는 일 문자열을 전달하는 것입니다 그리고 나서 우리는 오류를 일으킬 것입니다 왜냐하면이 자물쇠 여기서 메서드는 문자열에 존재하지 않습니다 우리가 해결할 수있는 방법은 뭔가를하는 것입니다

타입 힌팅이라고하는 하이킹 (hyping) 이것이 의미하는 바는 우리가 지정한 것입니다 인수 이전의 클래스 자 이제 우리가 이것을 다시하고 새로 고침을하면, 잡을 수있는 치명적인 오류가 발생합니다 기본적으로 이것은 우리는이 생성자, 여기, 또는 적어도 전달합니다 첫 번째 인수는 lock의 인스턴스가 될 것입니다

그래서 우리가 이걸 고치면 새로 고침을하고, 우리는 같은 결과를 얻습니다 그리고 이것이 우리가 의존성 주입이라고 부르는 것입니다 자, 저는 여러분에게 정말 간단한 예제를 드리겠습니다 이것은 실제 상황에서 유용 할 수 있습니다 따라서이 파일을 삭제하겠습니다

그들을 닫고이 모든 것을 제거하십시오 새 파일을 만들겠습니다 그리고 이것은 DatabasePHP라고 불리게 될 것입니다 그런 다음 User

PHP라는 새 파일을 만듭니다 그리고 다시, 이것들은 수업이 될 것입니다, 그래서 Class 사용자 및 클래스 데이터베이스 그리고 우리 데이터베이스는 단지 포함 할 것입니다 쿼리라는 한 가지 방법 아마도 우리는 SQL을 전달할 것입니다

우리가 할 일은 Prepare SQL, Execute에서이 PDO와 같은 것을 말할 것입니다 그리고 우리는 테스트를하지 않을 것입니다 이것, 또는 그런 것 이것은 단지 예일뿐입니다 좋아, 그럼 우리가해야 할 일은 사용자 클래스에 메소드를 추가하는 것입니다

그래서,이 예를 들어, 저는 말할 것입니다, 공용 함수, 만들기 그리고 이것은 일련의 데이터를 취할 것입니다 이제 우리가해야 할 일은 우리가 원하는 것입니다 그를 데이터베이스에 삽입하여 사용자를 생성합니다 그러나 우리는 어떻게이 방법에 접근 할 것인가? 왜냐하면 우리는이 클래스 내부에서 질의를 생성하기를 원하기 때문입니다

음, 다시 한번 우리는 의존성 주입을 사용합니다 그래서 생성자를 생성합니다 우리는이 데이터베이스에 입력하고, 우리는 그것을 DB로 짧게 부를 것입니다 그리고 그것을 Protected DB 속성에 할당합니다 그리고 이제 우리가해야 할 일은,이 DB Query – 우리가 전화 한거니? – 응

그리고 우리는 말할 수 있습니다, 사용자의 ㅋ, ㅋ, ㅋ, 그게 다 잘될거야 우리가해야 할 일은이 파일들을 포함시키는 것뿐입니다 DatabasePHP, UserPHP

그리고 우리는 사용자가 새 사용자, 새 데이터베이스와 동일하다고 말할 것입니다 그리고 지금 당장은 이것을 없애고 SQL을 에코합니다 그런 다음 사용자 생성, 배열 사용자 이름 인 Terry를 전달합니다 새로 고침을 누르면이 쿼리가 표시됩니다 물론 이것이 실제 사이트에 있다면, 실제로이 쿼리를 실행하고 있습니다

사용자를 데이터베이스에 저장하는 것 자, 또 다른 이유는 – 나는 이것에 너무 많이 들어가기를 원하지 않는다 비디오가 너무 길어서 의존성 주입을위한 또 다른 이유는, [? 타이트한?] 커플 링 자, 이전에 보았던 것, public static function get instance입니다 그리고이 모든 의존성 삽입 물건을 제거해 봅시다

그리고 여기에 뭔가 같이 말할 것입니다, 제대로 보호 된 정적 인스턴스를 만들 것입니다 정적 인 경우가 아니라면 – 이게 무슨 뜻인지 이해하지 못한다면 걱정하지 마십시오 우리는 앞으로 또 다른 비디오에서 정적을 다루겠습니다 static 인스턴스가 아닌 경우 – null 일 경우, 또는 설정되지 않은 경우이 클래스를 인스턴스화합니다 그 변수에 저장하십시오

따라서 정적 인스턴스는 새로운 자체와 동일합니다 그래서,이 모든 수단은 새로운 데이터베이스입니다 그러나 그것이 동적이라는 것을 의미합니다 그래서 이것을 DB와 같은 것으로 변경하면, 그러면 우리는 이것을 바꿀 필요가 없습니다 그리고 나서 정적 인스턴스를 반환합니다

이제 사용자 클래스 내부에서, 무엇을 우리는 DB가 데이터베이스와 같다고 말하고 싶습니다 Get Instance 그런 다음 DB 쿼리를 말할 수 있습니다 그리고 우리는 같은 결과를 얻을 것입니다 하지만이 문제는 사용자를 긴밀하게 연결한다는 것입니다

데이터베이스에 예를 들어, 스토리지 시스템을 변경합니다 사용자를 파일에 저장하려고한다고 가정 해 봅시다 우리가 데이터베이스 인스턴스를 얻을 때마다, 우리는이 수업을 거쳐 파일로 변경해야합니다 너 알지? 그래서, 의존성 주입은 이것을 제거합니다

우리가 바꾸어야 할 것은 생성자뿐입니다 또한 추가 단계를 수행 할 수도 있습니다 저장소 패턴과 같은 것을 사용하여 나중에 저장 장치를 쉽게 변경할 수 있습니다 체계