*index.php

<?php
$tpl=new Template;
$tpl->define(array(
  'contents'  =>'index.tpl',
	'body'  =>'inc/body.tpl',
));

$data = sql_list("쿼리내용");
$tpl->assign('data', $data);
$tpl->print_('body');

*index.tpl

<ul>
	{@ data}	
	<li>hi{.seq}</li>
    {/}
</ul>

tpl에 php 구문을 넣어도 에러는 나지 않습니다만 tpl 파일은 View(V)만을 하기 때문에 PHP 구문이 필요 없습니다.

@ 로 loop문을 대체하고 있습니다.

{/}는 end입니다.

{.seq}는 data에 있는 배열명입니다.

 

'tech > PHP' 카테고리의 다른 글

특정 날짜의 요일 구하기  (0) 2023.10.07
영문, 숫자만 체크(유효성 검사)  (0) 2023.10.04
템플릿 언더바(Template Underscore) #1  (0) 2023.10.02
LG xpay 결제 모듈 연동 모바일  (0) 2018.03.19
카카오톡 API  (0) 2017.11.30

 

5년 정도 전에 한 개발 에이전시에 근무하게 되었을 때 였습니다.

MVC패턴으로 개발 방식이 유행이었던 당시에는 Laravel과 CodeIgniter, Symfony, Zend와 같은 프레임워크만 알던 때인데, 템플릿 언더바(https://tpl.xtac.net/)를 사내에서 사용하는 분위기였습니다.

MC는 PHP에서 작업하고 V는 tpl 파일에서 작업하는 방식입니다.

컴파일이 되기 때문에 파일명.tpl.php으로 컴파일 되어서 빠른 처리를 할수 있다고 합니다.

템플릿 언더바와는 다른 템플릿인 스마티와 비교한 페이지가 있습니다.

https://tpl.xtac.net/benchmark/

 

Template_

 

tpl.xtac.net

 

아래의 코느는 공식 사이트에 있는 예제 입니다.

<?php
include 'Template_.class.php';
$tpl = new Template_;
$tpl->define('index', 'index.tpl');
$tpl->assign(array(
    'title'  =>'First Template_',
    'content'=>'Fill me in',
));
$tpl->print_('index');

line 4 : V(view)가 될 index file을 지정 합니다.
배열도 가능 합니다.

$tpl->define(array(
    'contents'  =>'index/index.tpl',
	'body'  =>'inc/body.tpl',
	'top'  =>'inc/top.tpl',
));

 

'tech > PHP' 카테고리의 다른 글

영문, 숫자만 체크(유효성 검사)  (0) 2023.10.04
템플릿 언더바의 루프문(loop) #2  (0) 2023.10.03
LG xpay 결제 모듈 연동 모바일  (0) 2018.03.19
카카오톡 API  (0) 2017.11.30
웹 개발 환경  (0) 2017.03.08




소문자나 0과 O의 차이점과 같이 폰트의 영향으로 구분이 되지 않을 때가 있다.

이런 때에는 구분이 잘 가는 폰트로 변경을 하면 된다.


Preferences > General > Appearance > Colors and Fonts 에서 변경을 하면 된다.



우측 상단의 Edit 버튼을 눌러서 폰트 변경이 가능하다.


폰트는 여러가지 있지만, 네이버에서 배포하는 네이버 D2 coding 글꼴을 하기도 한다.

폰트는 여러 폰트를 사용해보고 자신에게 맞는 가독성 있는 폰트를 사용하면 된다.




'tech' 카테고리의 다른 글

cloudflare를 이용한 방화벽 설정  (0) 2024.05.04
mac 크롬 브라우저에서 전체 화면 단축키  (0) 2019.12.22
eclipse 에서 wrap 기능  (0) 2015.10.14
eclipse AIR plug in  (0) 2012.05.15
이클립스 plug in 삭제  (0) 2012.05.14


출처 : https://www.reddit.com/r/MinimalWallpaper/comments/34qnou/my_hello_world_wallpaper_4256_2832/




신규 개발이든지 유지 보수이든지 모두 개인 컴퓨터에 개발 환경 세팅이 되어야 합니다.

이전 포스트에 있는 XAMPP, AUTOSET 혹은 수동으로 APACHE, PHP(저의 경우 PHP를 주로 사용하기 떄문에), mySQL을 설치되어 있어야 합니다.


1. hosts 설정(옵션)

C:\Windows\System32\drivers\etc 에 있는 hosts 파일을 열어서 도메인을 추가하여 줍니다.


2. apache 설정

정상적으로 설치가 되었다면, APACHE httpd.conf 파일과 extra 디렉토리에 있는 httpd-vhosts.conf 디렉토리의 virtual host 지정을 하여야 합니다.


저의 경우 이번 리뉴얼 작업 건이 있는 사이트가 80으로 포트로 접속하게 되면, 실제 서비스 되고 있는 사이트로 리다이렉션(redirection;방향을 바꿈-페이지 이동)되기 때문에 포트를 8080으로 하였습니다.



3. apache start(시작)


4. mySQL 설정

그 후 database와 table을 create(만들다) 해야 합니다.

cafe24에서 호스팅을 받고 있다면, cafe24에서 제공하는 phpmyadmin을 사용하여 만들면 됩니다.



그 후 database user(사용자)와 permission(권한)을 추가 하여야 합니다.




(이와 관련 된 부분은 며칠 후 준비해서 포스팅하겠습니다. 우선은 순서만 알아 두시면 됩니다.)



5. 사이트 image(이미지) 복사

사이트에 사용 된 이미지를 업로드 합니다.





2017/02/26 - [tech/PHP] - PHP 개발의 50%















'tech > PHP' 카테고리의 다른 글

LG xpay 결제 모듈 연동 모바일  (0) 2018.03.19
카카오톡 API  (0) 2017.11.30
PHP 개발의 50%  (0) 2017.02.26
PHP 초심자용 블로그:PHP의 시작 #1  (0) 2017.02.21
php 코드 작성 10원 짜리 팁  (0) 2016.10.28


이미지 출처 : http://kekkai-sensen.wikia.com/wiki/Hello,_World!




어떤 언어든지 hello world 만 하면 50%는 했다고 한다.


초심자를 위해서 hello world를 보여 드리겠다.





<?php
echo "hello world";
?>



PHP의 끝은 항상 ;(semicolon ;세미콜론)으로 끝이 난다.





'tech > PHP' 카테고리의 다른 글

카카오톡 API  (0) 2017.11.30
웹 개발 환경  (0) 2017.03.08
PHP 초심자용 블로그:PHP의 시작 #1  (0) 2017.02.21
php 코드 작성 10원 짜리 팁  (0) 2016.10.28
eclipse tab 간격 설정(들여쓰기)  (0) 2016.10.19



PHP에 대한 컨텐츠는 구글이나 기타 검색 사이트를 통해서 검색해보니 상당히 많을 것이다. 

그 중에서 PHP를 시작하는 사람에게 도움이 될만한 혹은 tutorial을 공부하는 사람에게 도움이 될 컨텐츠를 생산해보고자 시작한다.



-----------------------------------------------------------------------


PHP를 시작하기 위해서는 에디터가 필요하다.

메모장에서도 PHP 개발은 시작 할수 있다.


개인 컴퓨터에서 테스트 혹은 학습용으로 환경을 만들기 위해서는 window + apache + PHP + mySQL 환경이 만들어야 한다.


XAMPP, AUTOSET, APMSETUP 3가지 정도가 있다.

그 중 XAMPP가 업데이트를 잘 해주기 때문에 XAMPP를 사용한다.




XAMPP URL : https://www.apachefriends.org


AUTOSET URL : http://autoset.net/xe/




위의 프로그램 설치는 간단하다. 다음~ 다음~ 다음만 누르면 된다.



브라우저(익스플로러, 파이어폭스, 사파리, etc) 에서 주소창에 http://127.0.0.1 혹은 http://localhost를 하면 xampp 간략한 안내 페이지가 보인다.


xampp 기본 설치 디렉토리(=폴더)는 c 드라이브의 c:\xampp 다.





'tech > PHP' 카테고리의 다른 글

웹 개발 환경  (0) 2017.03.08
PHP 개발의 50%  (0) 2017.02.26
php 코드 작성 10원 짜리 팁  (0) 2016.10.28
eclipse tab 간격 설정(들여쓰기)  (0) 2016.10.19
GET으로 값 넘길시 쿼리스트링이 깨지는 경우가 있었습니다.  (0) 2013.07.17





기존 :


<?php

if(a == "10"){

?>

<img src="...">

<?

}

?>






<?php if(a == "10"):?>

<img src="...">

<?php endif;?>




2016/10/04 - [tech/SQL] - 날짜 형태로 변환

2013/07/17 - [tech/PHP] - GET으로 값 넘길시 쿼리스트링이 깨지는 경우가 있었습니다.




PHP와 Javascript를 할 때 알아 두면 편한 디버깅 방법에 질문을 받곤합니다.

디버깅 방법은 생각보다 단순 합니다.


물론 그 해결 과정이 어려울 때도 있습니다.



1. 신텍스 에러를 체크 해주는 툴을 사용하세요.

- 저 같은 경우는 이클립스를 사용합니다. 신텍스 에러는 색깔이 다르게 되어서 주소창에 해당 파일을 실행하기 전에 어떤 부분에서 에러가 났는지 알수 있습니다.


2. 각 브라우저의 디버깅 툴을 사용하세요.

- 익스플로러의 경우 F12를 누르면 개발자 도구 창이 뜨게 되고 이 콘솔창에서 에러의 내용을 알수 있습니다.

- 크롬도 F12 입니다.

- 파이어폭스를 개발용으로 주로 사용합니다. 

Firebug 플러그인을 설치하시면 자바스크립트 에러 내용을 자세하게 알수 있습니다.


3. 익스플로러의 경우 에러 표시를 체크하여 주세요.




모든 스크립트 오류에 관련된 알림 표시를 체크하여 주시면 됩니다.

이 것을 체크해주셔야 자바스크립트 에러가 alert window로 보입니다.


4. 테스트 서버는 없고, 운영되고 있는 서버에서 테스트 해야 한다면 ....

- 쇼핑몰 결제 테스트의 경우 이럴 경우가 있습니다. 결제 대행사의 결제 모듈은 실 서버에서만 실행이 되기 때문에 실 서버에서 테스트 해야 하는데요.


$allow_ips = array(
    "0.0.0.0"
);

if(in_array($_SERVER['REMOTE_ADDR'], $allow_ips)){
    ...................;
}


if문 안의 내용은 허용한 IP만 보여지거나 실행될 부분 입니다.

허용 할 IP가 두개 이상이라면


$allow_ips = array(
    "0.0.0.0", "1.1.1.1", "2.2.2.2"
);


단 아이피는 공유기 아이피 입니다.


4. 값 확인

*PHP

GET이나 POST 값이 정상적으로 넘어 왔는지 확인 할 때 

echo "value : ".$_GET[xxxxx]; 하고 값을 확인 하거나


print_r($_GET]; 하면 값을 확인 할 수 있습니다.


*Javascript

alert("value : " + 변수명); 혹은 


var aaa = "test";

console.log(aaa);


그 외 jquery 사용 한다면, 

$("#result").html(확인 할려는 변수);

<div id="result"></div>


하면 result div에 확인하고자 하는 값이 나옵니다.


5. 파일을 정상적으로 로드 되었는지 확인

firefox httpfox 플러그인을 다운 받아서 파일이 정상적으로 로드 되었는지 패킷 캡춰하시면 알수 있습니다.

익스플로러도 F12 눌러서 네트워크 탭을 선택하면 알수 있습니다.

GET으로 값 넘길시 쿼리스트링이 깨지는 경우가 있었습니다.



기존에도 같은 형태, 유형으로 작업되어 있는 스크립트였는데, 잘 되던 것이 이번 프로젝트에서는 문제가 생겼습니다.


<script>

........

window.location.href="파일명?w=d&no=10;
........
</script>


위와 같이 넘겼는데, &가 ®로 바뀌어서 브라우저가 페이지를 찾을 수 없다는 페이지를 보여줬습니다.


캐릭터셋 문제도 아니었고, 잘 되던 것인데 이번에 문제가 있는 것이었습니다.

무엇 때문인지 원인이 무엇인지는 모르겠지만, 임시 방편으로 &대신 &amp;를 사용하였더니 정상이 되었습니다.

'tech > PHP' 카테고리의 다른 글

php 코드 작성 10원 짜리 팁  (0) 2016.10.28
eclipse tab 간격 설정(들여쓰기)  (0) 2016.10.19
배열 NULL값을 제외하기  (0) 2013.04.23
그누보드 포인트 날짜별 누적 포인트합 보여주기  (0) 2012.12.13
text file load  (0) 2012.07.25





배열 NULL 값을 제외하기


참고 : http://php.net/manual/en/function.array-filter.php



$inputKeyword = array($keyword1, $keyword2, $keyword3);


3가지 변수를 inputKeyword 배열로 생성.


그런데, $keyword2 만 값이 있고, 그 외는 NULL이라도, count($inputKeyword)은 항상 3이 나온다.


그래서 실제로 있는 값만 원할 때는


    $inputKeyword = array($keyword1, $keyword2, $keyword3);
    if($keyword1 || $keyword2 ||$keyword3) $inputKeywordFilter = array_filter($inputKeyword);


이렇게 하면, NULL 값 제외한 값이 $inputKeywordFilter에 쏙쏙 들어 가게 된다.


+ Recent posts