성공을 위한 세 단계

경험이 쌓이면 HTML 페이지에서 PHP 코드를 최대한 분리하는 것의 이점을 스스로 배우게 될 것입니다. 예를 들어, 로그인 프로세스를 생성하는 경우 이 기능을 별도의 PHP 파일에 보관하는 것이 합리적입니다. 함수를 호출하려면 한 줄의 코드만 있으면 됩니다. 사용자가 이미 로그인되어 있는지 확인하고, 그렇지 않은 경우 로그인 정보를 제공하세요. 페이지. 지금까지는 매우 평범했고 대부분의 프로그래머는 자신의 장치에 맡겨져 이러한 방식으로 작업하는 방법을 매우 빠르게 배워 웹 페이지에 포함된 PHP 코드를 절대 최소 수준으로 줄였습니다.

성공을 위한 세 단계

객체 지향 프로그래밍(OOP) 접근 방식은 여기서 한 단계 더 나아갑니다. 간단히 말해서 OOP의 최종 결과는 코드 블록을 함수로 구성하는 것이 아니라 페이지에서 호출되는 클래스에는 다양한 측면을 처리하는 일련의 클래스가 있습니다. 애플리케이션. 예를 들어, 대부분의 전통적인 웹사이트에는 정기적으로 사용되는 기능 세트가 포함된 COMMON.PHP라는 파일이 있습니다. 사이트에 로그인하는 과정에서 쿠키나 세션이 존재하는지 확인하는 기능이 호출될 수 있습니다. 데이터베이스에 연결하고 유효한 사용자 레코드를 확인한 다음 다음에 따라 다른 기능으로 분기합니다. 결과.

그러한 사이트의 객체 지향 버전은 데이터베이스 클래스의 라이브 버전인 데이터베이스 객체를 갖게 됩니다( 집은 청사진의 라이브 버전임) 및 사용자 개체로, 각 개체에는 집과 관련된 기능만 포함되어 있습니다. 목적. 이러한 개체가 속한 데이터베이스 및 사용자 클래스는 전적으로 사용자가 만든 것이며 PHP의 일부가 아닙니다. 데이터베이스 개체는 데이터베이스에 연결하는 방법과 다양하고 유용한 검색을 수행하는 방법을 알고 있습니다. 사용자 객체는 사용자를 생성하고 유효한지 확인하는 방법을 알고 있습니다(데이터베이스의 도움을 받아). 물체). 이를 보는 가장 간단한 방법은 이러한 객체를 기존 함수보다 코드를 저장하는 더 효율적이고 합리적인 방법으로 간주하는 것입니다. PHP는 클래스와 객체 생성을 다른 많은 OOP 언어보다 훨씬 간단하게 만들어주므로 PHP 개념에 대한 이상적인 소개입니다.

시간이 없어 괴상하고 학술적인 주장을 제쳐두고 OOP는 세 가지 주요 이점을 제공합니다. 첫째, 코드를 분류합니다. 내 데이터베이스 클래스에는 데이터베이스 작업을 수행하는 기능이 있어 MySQL의 세부 사항을 숨기고 다른 개발자가 레코드 검색 등을 더 쉽게 만들 수 있습니다. 함수가 클래스 내에 저장되는 경우 이를 "메서드"라고 하며 다음은 행에서 단일 필드를 찾는 방법입니다.

함수 fetchfield($table,$indexname,$indexvalue,$fieldname)

{

$query=”SELECT * FROM $table WHERE $indexname=$indexvalue”;

$querydata=$this->쿼리($query);

$fielddata=mysql_fetch_assoc($querydata);

$fielddata[$필드이름]을 반환합니다.

}

저는 이 메소드를 다음과 같이 부릅니다.

$firstname=dbaseobject->fetchfield("사용자","사용자 ID",5,"이름");

dbaseobject는 객체의 이름입니다. 동일한 청사진으로 많은 집을 지을 수 있는 것처럼 각각 고유한 이름을 가진 데이터베이스 클래스의 인스턴스를 원하는 만큼 가질 수 있습니다. 짐작할 수 있듯이 이 경우 Database 클래스는 ID가 5인 사용자의 이름을 가져옵니다. 장점은 이 정보를 얻으려는 PHP 프로그래머가 MySQL을 전혀 알 필요가 없다는 것입니다. 그 또는 그녀는 단지 내 fetchfield 함수의 훨씬 간단한 구문을 사용하기 때문입니다. 분명히 이는 매우 단순한 MySQL이지만, 이 경우에도 4줄 프로시저를 한 줄로 압축하여 시간을 절약할 수 있습니다.