2010-04-15 1 views
0

PHP 사용 경험이 제한적입니다. 나는 지금 막 나에게 이상하게 보이는 것들을 물려 받았고 이것이 일을하는 표준 방법인지 알고 싶다.관용 PHP 웹 페이지 생성

<? 
$title = "Page Title"; 
$meta = "Some metadata"; 
require("pageheader.inc"); 
?> 
<!-- Content --> 

그런 pageheader.inc 물건을 같이하고있다 :

<? 
@$title = ($title) ? $title : ""; 
@$meta = ($meta) ? $meta : ""; 
?> 
<html> 
<head> 
<title><?=$title?></title 
</head> 
<!-- and so forth --> 

어쩌면 다른 사람이이 스타일을 찾을 브라우저 위치 (예 : www.example.com/example_page)에 표시 페이지는 무언가 같이있다 유용하지만 나 혼란 스럽다. 이것이 기본 콘텐트 관리 시스템으로 나아가는 단계 일 수 있다고 생각하지만, 여기에서 작동하는 방식은 서버가 웹 개발자의 노력을 줄여야 만 처리해야 할 가치가있는 작업을 줄이지 않으면 안된다고 생각합니다.

PHP를 사용하여 페이지를 만드는 일반적인 방법입니까? 아니면 더 나은 접근 방식에 찬성하여이 모든 것을 풀어야합니까?

또한 ""(대 "<?php")은 바람직하지 않습니다. 나는 코드에있는 것을 재현하고있다.

+0

@Skilldrick를 : 수정 주셔서 감사합니다! – GreenMatt

답변

3

음, 분명히 이 아닙니다. 읽을 방법이 있지만 읽기 및 유지 관리가 다소 번거로울 수 있습니다. 나는 PHP에서 이와 같은 것을하는 "일반적인"방법이 있다고 말하지 않을 것이다. 결국에는 변수를 HTML로 출력하기 때문에 전용 템플릿 엔진을 사용하지 않고 다양한 옵션을 사용할 수 없습니다 (그리고/또는 ryeguy에서 언급 한 MVC 기반 접근 방식으로 향하게 됨).

내 제안 : 원하는 스타일에 맞지 않으면 변경하십시오. 가장 중요한 것은 개발하고 유지 관리하는 경우 편안하고 효율적으로 작업 할 수 있다는 것입니다.

3

종류는 MVC를 향해 오른쪽 트랙에입니다. MVC는 모두 관심사의 분리에 관한 것입니다. 첫 번째 스 니펫이 값을 설정하고 pageheader.inc이 결과를 출력한다는 개념입니다. 이렇게하면 논리가 뷰에서 벗어나게됩니다.

매우 슬프게 진행됩니다.

1

기본적으로 사용할 수있는 두 가지 방법이 있으며, 서로 반대입니다. 하나의 접근 방식의 예가 있습니다. 각 페이지마다 고유 한 콘텐츠가있어 머리글, 바닥 글 및 기타 공통 데이터를 포함해야합니다. 이 접근법에는 특별히 잘못된 점이 없습니다. 두 번째 방법은 머리글, 바닥 글, 내용을 포함하는 단일 페이지를 만드는 것입니다. 이것은 널리 사용되는 PHP 프레임 워크를 사용하는 훨씬 일반적인 어플리케이션입니다.

2

PHP는 일을하는 "표준"방법이없는 매우 단편적인 커뮤니티입니다. 즉, 게시 한 pageheader.inc 예제가 단순화 될 수 있습니다. 맨 위에있는 코드는 잘하지 못하고 있습니다. 혼자이 충분 :

<html> 
<head> 
<title><[email protected]$title?></title> 
</head> 

당신은, 내가보기 엔 CodeIgniter의 또는 Kohana 같은 인기있는 PHP 프레임 워크를 확인하는 것이 좋습니다 것 아키텍처 및 모범 사례에 대한 몇 가지 방향을 찾고 있다면.

+1

'@'기호는 오류를 억제합니다. (이 경우 변수가 설정되지 않았다는 통지) –

0

저는 몇 가지 변수에서 메뉴 및 페이지 헤더를 만드는 집중화 된 코드가 필요한 5-10 페이지 브로셔 -웨어 사이트와 같은 간단한 사이트에서이 스타일을 많이 사용했지만 완전히 원하지 않습니다 MVC 구조는 과잉이다.