2013-12-22 4 views
0

나는 프론트 엔드 녀석으로 스크립트에 점점 더 많이 들어가고있다. 나는 그런 역겨운 마크 업을 좋아 보인다.마크 업 형식을 고맙게 생각합니까?

목록의 일부 데이터베이스 값에 대해 루프를 돌렸고 대부분의 사이트는 <LI> 태그의 큰 오래된 연결 슬류를 보여 주지만 적절한 탭핑으로 거리를두고 있습니다. 이상한 점은 첫 번째리스트 멤버가 <LI>이 아닌 LI>처럼 렌더링된다는 것입니다.

누구나 본 사람이 있습니까? 귀찮게하지 않아도 될까요? 루프를 잘못 포맷하고 있습니까? 예를 들면 다음과 같습니다.

while ($whatever = mysql_fetch_array($blah_query)){ 
    echo "\t\t\t\t\t\t"; 
    echo "<li>\n"; 
    echo "\t\t\t\t\t\t"; 
    echo '<a href="#'.$whatever['name'].'" id="category_id_'.$whatever['id'].'">'; 
    echo ucfirst($whatever['name']); 
    echo "</a>\n\t\t\t\t\t\t</li>\n"; 
} 
+0

에 탭 더 좋은 깨끗한 목록 항목. –

답변

1

마치 목표가 당신에게 적절한 들여 쓰기를 입력하는 페이지 소스를 출력하는 것처럼 보입니까? 적어도 지금은 디버깅하기 쉽고 읽기 쉽도록하려면?

, 당신은 페이지의 소스에서 볼 것처럼 단지를 입력하는 HTML 코드를 반향 PHP를 사용하고 있기 때문에
while ($whatever = mysql_fetch_array($blah_query)){ 
    echo "\t\t\t\t\t\t"; 
    echo "<li>\n"; 
    echo "\t\t\t\t\t\t"; 
    echo '<a href="#'.$whatever['name'].'" id="category_id_'.$whatever['id'].'">'; 
    echo ucfirst($whatever['name']); 
    echo "</a>\n\t\t\t\t\t\t</li>\n"; 
} 

while($whatever = mysql_fetch_array($blah_query)){ 
    //When you want a new line, just hit enter. PHP will echo the carriage returns too 
    echo' 
         <li> 
          <a href="#'.$whatever['name'].'" id="category_id_'.$whatever['id'].'">ucfirst($whatever['name'])</a> 
         </li> 
'; 
} 

이것은 내가 어떻게 할 것입니다 그 것이다 그래야 줄 바꿈을 처음 시작할 때마다 "</div>"또는 그 뒤에 줄 바꿈없이 다른 닫는 태그를 남겼습니다.

출력됩니다 내가 탭을 추가하지만, GZIP와 함께, 대역폭 향상을 위해 불필요한 탭/공백을 삭제하지뿐만 아니라 권하고 싶습니다 휴식 시간

+0

감사합니다 ... PHP에서 공백을 보존하는 것을 완전히 잊어 버렸습니다. Duhh ..이 모든 것들은 훌륭한 팁이었고 예, 라이브 서비스에서의 WS 제거를 알고 있습니다 ... 디버깅을 위해 항상 미인을 던질 수있을 것 같군요. 고마워요 !! –

0

일반적으로 요소 사이의 공백을 제거하면 트래픽이 많은 사이트의 대역폭을 절약 할 수 있습니다. JavaScript 나 CSS를 축소하는 것과 비슷합니다. 여전히 '테스트/개발'모드에 있다면, 들여 쓰기를하십시오. 그러면 실수를하는지 알 수 있습니다. 그러나 어떤 프로덕션 환경에서도 상당한 트래픽이 발생하면 html을 "축소"해야합니다.

이것은 대역폭의 금전적 비용을 줄이는 것이 아닙니다. 이것은 시스템 자원 비용을 줄이는 것입니다. 공백없이 45k 파일을 보내는 데 약간 시간이 걸리고 29k 파일을 공백없이 사용합니다. 따라서 서버가 더 빨리 서버를 푸시 할 수 있으므로 열린 연결을 더 빨리 확보 할 수 있습니다. 즉, 새 연결을 즉시 수락 할 수 있습니다. 이 아이디어에 헌신하는 많은 이야기가 있습니다. 축소와 압축이 결합 된 이유는 웹 페이지가 빠르게로드되는 높은 표준을 유지해야하는 이유입니다. 발송하는 횟수가 적을수록 빠를수록 빠를 수있는 사람이 많아집니다.

0

나는 당신과 같습니다. 모든 것이 깨끗하고 깔끔해야합니다.

XSL을 템플릿 엔진으로 사용하는 것이 좋습니다. 이렇게하면 formatOutput = true로 설정하면 모든 HTML이 자동으로 형식이 올바르게 지정됩니다.

로컬 복사본에는 이러한 설정을 사용하지만 라이브 복사본에서는 줄 바꿈과 공백을 사용하지 않도록 XSL을 설정합니다. 이렇게하면 한 줄에 모든 HTML이 반환됩니다. 이렇게하면 HTML 파일 크기가 약 20-30 % 또는 무엇이든 절약됩니다. 따라서 대역폭을 절약하고로드 시간을 단축 할 수 있습니다. 브라우저가 렌더링하는 데 약간 더 빠를 수도 있습니다.

참조 :

$xsl->preserveWhiteSpace = false; 
$xsl->formatOutput = TRUE OR FALSE; 

http://www.php.net/xsl 그냥 위의 내 코드를보고는 모두 한 줄에 잘 들여 쓰기, 또는 출력을 내가 설정 중 하나를 사용합니다.

1

코드 간 공백을 제거하면 특히 코드의 길이가 길면 파일 크기가 크게 줄어들 수 있습니다. 들여 쓰기를 제거하고 파일 내의 공간을 최소화함으로써 요청한 페이지를 들여 쓰기했을 때보 다 훨씬 빠르게 전달함으로써 사이트 연결 속도를 최대화 할 수 있습니다. 5 ~ 10kb의 간격을 제거하여 각 페이지의 효율성을 높일 수 있기 때문에 웹 사이트에 합당한 트래픽이 발생하면 합산됩니다. 장기적으로 사용자 페이지를 정기적으로 제공하는 경우 코드가 가능한 한 적은 공간으로 사용되도록하여 추가 된 네트워크 변형을 최소화 할 수 있습니다.

개인 환경에서 개발하는 경우 디버깅 목적으로 들여 쓰기를 사용하는 것이 좋습니다. 코드의 스타일은 가독성이 부족한 축소 된 코드와 비교하여 논리와 흐름을 따라갈 수 있습니다.

+0

필자는 개인적으로 디버깅을위한 플래그를 설정했는데 일부 외부 도구를 사용하거나 간단히 w3 유효성 검사기를 사용하여 형식을 지정합니다. –

+0

들여 쓰기로 코드를 작성하는 것이 훨씬 쉽지만 실제 사이트 변경 사항을 찾고 있다면 분명 동의합니다. 일단 온라인으로 푸시 할 준비가되면 간단한 CMD (Ctrl) 키를 누른 채로 탭을 제거하고 간단한 단계로 완료됩니다. –