HTML

2012-05-24 2 views
1

내가 PHP 파일과 포함 HTML 요소의 무리가 생성 PHP를 구조하는 방법 :HTML

  1. 헤더를
  2. CSS
  3. 반복적으로 사용되는 "스페이서"요소, 정적
  4. PHP 코드에서 무엇을 삽입 할 것인지에 대한 인수를 취할 템플릿 모음

기본적으로 모든 요소를 ​​고려한 올바른 방법이 무엇인지 궁금합니다 ese files in. 내 폴더에 php가 메모리에 저장되어 헤더 정보에 드롭되는 file.css가 있어야한다고 생각합니다. spacer 요소를 "spacer.html"로 저장해야합니까? PHP는 문자열의 사본 하나를 필요에 따라 HTML로 끌어다 놓습니다. 아니면 이들 모두가 PHP에서 문자열 상수로 존재해야합니까?

동적 "템플릿"요소의 경우 다소 복잡합니다. HTML을 분리하는 방법과 인수가 놓여있는 표식을 사용하는 방법을 잘 모르기 때문입니다.

답변

2

MVC으로보아야합니다. 지금 인기있는 것은 CodeIgniter입니다. 아이디어는 당신이 HTML "템플리트"를 가져 와서 (V) iew를 생성하는 것입니다. PHP는 (C) ontroller를 사용하여 사용자를 지시하고 데이터를 가져 오기 위해 (M)을 호출 한 다음 적절한 변수를 브라우저의 (V)보기로 보냅니다.

+0

다른 프레임 워크 옵션으로는 [Agavi] (http://agavi.org), [Symfony2] (http://symfony.com), [Nette] (http://nette.org), [Yaf] (http://pecl.php.net/package/yaf), [Zend Framework] (http://framework.zend.com), [QCodo] (http://www.qcodo.com), [리튬] (http://lithify.me/), [Yii] (http://www.yiiframework.com/) 외 다수. – Treffynnon

+0

MVC는 웹 개발에 사용되는 가장 일반적인 패턴 중 하나입니다. 여기에 대한 자세한 내용은 http://optips.org/mvc-pattern.html을 참조하십시오. – bitfox

+0

이 모든 것이 잘 들리지만 좋은데, 템플릿 화 된 HTML 코드의 문제점을 해결하기 위해이 방법을 사용하는 방법을 올바른 방향으로 가르쳐 주시겠습니까? – djechlin

1

나는 보통 이것을 해결하기 위해 좋은 ol 'php를 사용하는 것이 좋습니다.

파일 구조가 현명하고, 아마도 index.php 파일을 가지고있을 것입니다. # 4에서 템플릿에 대해 잘 모르는 상태에서이 페이지의 윤곽을 그릴 것입니다. header.html 페이지에서 전화를 걸거나 index.php 파일에 헤더를 넣을 수 있습니다.

CSS 파일의 이름은 style.css (매우 표준)이며 헤더 파일에서 호출 할 수 있습니다.

잘 모르겠 으면 .php 파일에 HTML을 포함 할 수 있습니다. 당신은 같은 파일 뭔가 이름 것 ​​: index.php를 다음 코드가 될 수 있습니다

<p>This is HTML.</p> 

<?php echo("This is PHP."); ?> 

을 그리고 전역을 혼용.

+0

MVC 프레임 워크 사용에 관해서 @AlienWebguy에 동의합니다. 크고 복잡한 PHP 응용 프로그램을 사용하는 경우 이것이 가장 좋은 방법입니다. 내 대답은 당신이 단지 몇 가지 파일을 가지고 있다고 가정하고 간단한 일을하고있다. – matthewvb

+0

데이터베이스에 저장된 JSON 문자열에 의해 입력이 지정되는 동적 수의 템플릿이 있습니다.이 문자열이 몇 줄인지 또는 간단한 지 아닌지를 알 수있는 경우 : P – djechlin

+1

한 가지 PHP 파일 만 있으면됩니다. 템플릿 및 데이터베이스를 가져 와서 (JSON을 구문 분석하고 템플릿이 필요한 모든 것을 출력하면) 간단하고 간단한 레이아웃을 고수 할 것입니다. DB에서 여러 유형의 템플릿을 처리하기 위해 여러 PHP 파일이 필요할 경우에는 MVC 프레임 워크를 사용하십시오. – matthewvb

2

다른 답변자 (SP)가 MVC를 언급 한 것을 확인했습니다. MVC는 "보기"디스플레이/UI 계층과 비즈니스 논리를 분리하고 비즈니스 논리의 데이터베이스 논리를 분리 할 수 ​​있으므로 매우 중요합니다.

마찬가지로, AlienWebguy, 나는 Code Igniter를 권하고 싶지만 거기에는 PHP를위한 다른 좋은 프레임 워크가 많이 있습니다.

뷰 계층과 비즈니스 로직을 어떻게 구성해야하는지 묻고있는 것처럼 보입니다. 나는 머리글과 바닥 글 같은 일반적인 뭔가가 있다면, 나는 헤더 파일은 일반적으로 <html> 태그, 스타일 시트 링크 (들), 어떤 일반적인 포함됩니다

view/include/header.phpview/include/footer.php

에 넣어 것 자바 스크립트 스크립트 파일, 로고 및 탐색과 같은 공통 헤더가 있습니다.바닥 글 파일에는 일반적으로 저작권 정보, 모든 바닥 글 링크 및 </body></html>이 포함됩니다.

일반적으로보기를 효과적으로 만드는 데 필요한 것은 모델 객체를 처리하여 HTML을 표시하고 컨트롤러 레이어에 HTML을 전혀 생성하지 않도록하는 것입니다. E.G.

<table> 
<?php 
foreach ($users as $user) { 
    printf('<tr><td>%s</td><td>%s</td></tr>', $user->id, $user->user_name); 
} 
?> 
</table> 

이렇게하면 잘못된 "레이어"에 산재한 우려를 피하면서 일이 훨씬 깔끔 해집니다.

당신이 할 수있는 또 다른 일은 뷰에 똑바로 PHP를 쓰는 것에 관심이 없다면 템플릿 엔진을 사용할 수 있다는 것입니다. 코드 점화 기는 템플릿 엔진을 지원하지만 템플릿 엔진은 사용할 필요가 없습니다.

+0

@ Joy : 실제로 코드 (HTML 태그, 경로, 클래스 이름 등)에만 코드 형식을 추가하는 것을 고려하십시오. 모든 전문 용어에 추가하는 것은 매우 혼란 스럽습니다. – eldarerathis

+0

@eldarerathis 제안에 감사드립니다. 앞으로도 계속 그 점을 명심 해 두겠습니다. –