정교 한 구 조 를 만 드 는 PHP 프로그램
기본 적 이 고 유연 한 PHP 프로그램 구조의 가장 기본 적 인 부분 은 다음 과 같은 몇 가지 가 있 습 니 다.데이터 베이스 무관 성 인터페이스 무관 성 이식 가능 대상 또는 적어도 함수 라 이브 러 리 로 구성 되 어야 합 니 다.또 다른 것 이 있 습 니까?물론 다른 것 도 있 지만,나 는 그것 이 너무 크다 고 생각한다.아마도 네가 스스로 그것들 을 지적 할 수 있 을 것 이다.그것들 하나하나 에 대해 자세히 이야기 합 시다.1.데이터 베 이 스 는 무관 합 니 다.사이트 가 어디서 실 행 될 지 모 릅 니 다.물론 이 를 만 들 때 큰 데이터 와 높 은 데이터 가 있 기 를 바 랍 니 다.그래서 당신 은 MS Access 나 다른 가 벼 운 데이터베이스 시스템 에 자신 을 구속 하고 싶 지 않 습 니 다.다양한 데이터 베이스 시스템 을 즉각 삽입 할 수 는 없 지만 중간 에 편리 하 게 전환 할 수 있 습 니 다.너 는 너의 데이터 베 이 스 를 추상 화 할 수 있 는 다른 선택 이 있다.PHP 에서 하나의 특이 한 방법 은 서로 다른 데이터베이스 시스템 에 서로 다른 코드 를 써 야 한 다 는 것 이다.왜냐하면 PHP 에서 서로 다른 데이터베이스 에 대한 접근 함수 가 다 르 기 때문이다.이 점 을 피하 기 위해 서 는 PHPLib,다음 버 전의 PEAR,그리고 우리 가 SourceForge 에서 설명 한 것 처럼 추상 적 인 데이터베이스 접근 층 을 사용 할 수 있 습 니 다.2.인터페이스 와 무관 한 응용 프로그램 이 기술 이 더 중요 합 니까?아니면 운영 하 는 사이트 가 더 중요 합 니까?우 리 는 결코 진정 으로 알 수 없다.나 는 지금까지 이 점 을 믿 지 않 았 다.-HTML 은 표준 이다.특히 한 인터넷 응용 프로그램 에 있어 인터페이스 가 바 뀌 었 다 는 것 은 우리 가 항상 다시 써 야 한 다 는 것 을 의미한다.그러나 응용 프로그램 이 매우 복잡 하 다 면 데이터 베 이 스 를 위해 다른 인 터 페 이 스 를 만들어 야 합 니 다.사이트 프로그램 에서 copy&paste 의 방문 검사 등 코드 를 여기저기 다 니 고 싶 지 않 으 면.이것 은 또한 프로그램 을 정확하게 설계 했다 면 웹 사 이 트 를 쉽게 바 꾸 어 WAP 에 적응 시 킬 수 있 습 니 다.작은 WAP 인터페이스 를 간단하게 쓰 고 데이터베이스 접근 대상 을 호출 할 수 있 을 뿐 입 니 다.그러나 프로그램 을 잘 설계 하지 않 았 다 면 HTML 버 전 을 WAP 버 전 으로 바 꾸 는 것 은 복잡 한 프로젝트 입 니 다.저 는 이 생각 도 SourceForge 에 가 져 왔 습 니 다.저 희 는 커 다란 사용자 군 이 있 습 니 다.저 희 를 위해 bugs,작업 등 을 보 내 거나 받 습 니 다.우선,우 리 는 이 모든 것 이 우리 의 웹 페이지 인 터 페 이 스 를 통과 할 것 이 라 고 지적 한 다음 에 Eric Raymond 와 다른 사람들 이 주 는 압력 으로 인해 우 리 는 XML 로 데이터 뱅 크 의 외부 인 터 페 이 스 를 만 들 기로 결정 했다.다행히 우 리 는 4 월 에 프로그램의 핵심 논리 코드 를 인터페이스 와 분리 한 적 이 있다.나 는 우리 가 어떻게 했 는 지,너의 일 에 도움 이 되 기 를 바란다.이 SourceForge 의 bugs 추적 기와 다른 도구 들 은 두 개의 라 이브 러 리 로 나 뉘 어 져 있 습 니 다.이 HTML 라 이브 러 리 와 데이터 액세스 라 이브 러 리 입 니 다.이 데이터 액세스 라 이브 러 리 는 입력 한 값 의 정확성 을 검사 하고 보안 검 사 를 처리 하 며 성공/실패 시 TRUE 나 FALSE 로 돌아 갑 니 다.간단 한 원인 으로 인해 이 예 는 완벽 한 대상 모델 을 바탕 으로 하지 않 았 다.그러면 나 는 이 기본 유형 과 그의 파생 유형 등 을 설명 해 야 한다.나 는 이 예 가 너 에 게 가장 일반적인 생각 을 줄 것 이 라 고 생각한다.
HTML 라 이브 러 리 의 예//connect to database require("database.php");/common utils like header/footer HTML require ("html.php"); //data access library require ("bug_data.php"); echo site_header("Page Title"); echo "
Updating A Bug
"; if (bug_data_update($field1,$field2,$field3)) { echo "
Update Failed!
"; } else { echo "
Updated Bug Successfully
"; //echo the global error string echo $feedback; } echo site_footer(); ?> Data 액세스 라 이브 러 리 의 예 3.이식 성 은 의심의 여지 가 없습니다.코드 를 고정된 사이트 에 만 사용 하고 싶 지 않 습 니 다.앞으로 우 리 는 색채 의 선택,요소 의 이름,글꼴 또는 다른 무언 가 를 바 꿀 수 있 습 니 다.그러면 config 파일 을 설정 해 야 합 니 다.여러 페이지 에 포함 되 어 있 습 니 다.더 좋 은 관점 은 사이트 가 모듈 화 되 었 다 는 것 입 니 다.copy&paste 는 HTML 파일 이 필요 하지 않 습 니 다.저 는 이 를 함수 에 넣 고 필요 한 곳 에서 호출 하 는 경향 이 있 습 니 다.같은 방법 으로 데이터베이스 의 비밀번호,데이터베이스 연결 문자열 등에 사용 할 수 있 으 며,이것들 은 데이터베이스 처리 의 추상 적 인 층 에 넣 을 수 있다.4.대상/함수 화 우 리 는 COBOL 로 개발 한 것 이 아니 므 로 프로 세 스 를 여러 함수 로 나 눌 수 있 음 을 의미 합 니 다.모든 호출 은 하나의 자동 적 인 행동 이 며,때로는 단지 한 단락 의 다른 함 수 를 호출 하여 이 결 과 를 되 돌려 줍 니 다.좋 은 예 는 모든 페이지 에서 사용자 가 로그 인 했 는 지 확인 하 는 것 입 니 다.쿠키 나 데이터 베 이 스 를 조회 하여 이 기능 을 완성 할 수 있 습 니 다.그러나 인증 시스템 을 바 꾸 려 면 모든 페이지 를 바 꿔 야 합 니 다.사실은 함수 창고 의 일반적인 함 수 를 바 꾸 면 이 변동 을 완성 할 수 있 을 것 입 니 다.언제든지 코드 를 써 라.코드 가 한 곳 이상 사용 된다 면,그것 을 창고 에 넣 는 것 을 고려 해 야 한다.다른 거 또 뭐 있어 요?분명히 내 가 말 하지 못 한 일이 많 을 것 이다.나 에 게 너의 생각 을 말 해라.나 는 다음 글 에서 그것들 을 토론 할 것 이다.특히,만약 당신 이 대형,복잡 한 응용 프로그램 을 썼 다 면,나 는 당신 이 그것 을 어떻게 계획 하고 다시 할 때 다른 생각 이 없 는 지 듣 고 싶 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring MVC 프레임워크 구축 - 구성 최소화Spring MVC가 필요한 이유 사이트 개발이 깊어지면서 servlet 개발을 배우기 시작했는데 가장 고통스러운 것은 servlet이 웹 페이지로 되돌아오는 내용이 문자열로 연결된 html 페이지라는 것을 기억합니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.