최근 게시물, 로그인 스킨등의 템플릿화에 대해 생각해 봤습니다 > 자유게시판

자유게시판

최근 게시물, 로그인 스킨등의 템플릿화에 대해 생각해 봤습니다 정보

최근 게시물, 로그인 스킨등의 템플릿화에 대해 생각해 봤습니다

본문

PHP를 조금 다룰줄 아는 분들은 스킨을 뚝딱 뚝딱 만드는데 크게 문제가 되지는 않습니다

그런데 일반 유저 입장에서는 php에 대해 알지 못하면 접근하기가 힘이 듭니다

그걸 좀더 쉽게 일반 유저와 디자이너가 쓸수 있도록 접근한게 템플릿 형태의 게시판 코드이구요

 

지금은 과거의 유물인 제로보드4의 경우 일반 사용자의 스킨 공여도가 무척 높았습니다

 

그 이유는 시대적 호응도도 있었지만 단순한 템플릿 형태의 스킨 구조와 함께

html만 알아도 크게 손색없는 디자인과 결합해 결과물을 만들어 낼수 있었기에 

초등학생도 스킨을 올리고 대부분 중고생과 같은 젊은 유저가 접근했기 때문 아닌가 생각해 봅니다

 

좀 더 쉬운 코드의 템플릿 형태를 가진 스킨이라면 일반 사용자의 제작 참여 호응도가 늘지 않을까

생각해 봅니다

 

그래서 아래와 같은 공상을 했구

일부는 제 홈페이지에 적용해서 구현했기에( 아쉽지만 그누보드가 아닙니다 )

생각의 전환을 갖고자 소개합니다

 

제가 생각하는 일반 사용자의 템플릿 스킨 구조는 온전한 html 구조입니다

사용자의 업데이트용 스킨 템플릿용 치환코드는 

[name] , [date] 와 같은 기존 템플릿 구조가 아닌

html에서 지원하는 HTML data-* Attributes 를 활용하면 어떨까 싶습니다

 

완전한 html 구조여서 로컬에서 작업하고 디자인된 페이지를 바로 확인할 수 있고 수정할수 있기에

디자인의 접근성이 용이합니다

php에서는  data 속성을 치환해서 필요한 부분을 변한 한다면 사용 가능 합니다

 

 

즉 

1) <span>[name]</ span> 과 같은 많이 사용되는 기존 템플릿 형식을 아래와 같이 사용합니다

   <span data-templete-name>홍길동</span>

  위의 구조는 바로 html로 열었을 때 확인 가능하니 디자인 하기가 용이 합니다

  또한 html에서 지원하는 속성이니 문제의 여지가 없습니다

  php에서는 str_replace, preg_replace, preg_match_all 같은 함수를 적절히 이용해서

 스킨에서 필요한 만큼의 라인을 가져다 치환합니다

 이부분을 위한 함수가 따로 있어야 합니다

 data-templete-name 라는 속성을 가진 태그의 내용값인 "홍길동"을  필요한 1차 템플릿용 코드인 아래와 같이 변경합니다

 

2) <span data-templete-name>[name]</span> 이를 PHP에서는 기존 방식대로 치환하구요

  중간에 한번의 치환 과정이 포함되어 있어 아무래도 속도가 떨어지므로 속도의 보장성을 위해

 

3)최종 치환된 템플릿을 따로 저장하고 

4)저장된 템플릿 스킨이 있으면 그걸 가져다 치환하고

  ( [name] 부분의 치환 코드를  데이터 값으로 변경)

  없으면 사용자가 올린 스킨을 가져와 템플릿화 합니다

 

  좀 더 속도를 위한다면

  해당 영역 혹은 해당 페이지를 파싱해서 저장하고 일정 시간마다 갱신하게 해주며

5)갱신된 파싱 페이지를 보여줍니다

 

정리하자면

1) <span data-templete-name>홍길동</span> 와 같은 데이터 속성을 통한 온전한 html 페이지 작성

2) 스킨에서 필요한 라인을 가져다 준비된 템플릿 코드로 변환

3) 2번을 최종 템플릿 스킨 파일로 저장

4) 최종 템플릿 스킨의 템플릿 코드를 기존 방식처럼 실질적인 디비 데이터 값으로 치환

5) 디비 접근을 줄이고 출력 속도를 높이고 싶다면 해당 페이지나 구역을 일정시간마다 파싱해서 리턴

 

단점으로는

여기에 필요한 기능은 자바스크립트의 돔 조작에서 innerHtml 같이 해당 돔 안의 내용을 그대로 

가져오는 php의 돔 조작이 필요합니다 이 부분이 핵심 기능이며 프로그래머의 손길이 많이 갑니다

 

장점으로는 

앞서 썼듯이 로컬에서 바로 작업중인 디자인을 바로 볼수 있으며

기존에 여러장으로 나뉘어서 최종 모습을 확인하기 어려웠던 형태를 ( head.html, body.html, foot.html )

하나의 온전한 html로 구성하기에 ( skin.html )

쉽게 디자인과 확장이 가능합니다

추천
1

댓글 2개

만드는 프로그램에 구상하고 만들어 넣는데 시간이 좀 걸렸지만 결과는 원하는 방향으로 나와서 나름 흡족해 하구 있습니다 : )
전체 195,061 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

  1. 참여1 회 시작24.03.28 11:15 종료24.04.04 11:15
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT