티스토리 툴바


달력

05

« 2012/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
2009/11/17 23:45

온라인 JSON 파서.. Programming/PHP2009/11/17 23:45


온라인 JSON파서 에서는 JSON문자열을 바로 테스트 할 수 있습니다.
JSON의 내용을 색상과 트리 보기로 표시해 줍니다.
JSON으로 데이터 전달을 제작 할 때 디버깅 작업을 할 때 도움이 될 듯 싶습니다.
저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 신규하
2009/09/26 12:25

PHP에서 AJAX 요청 판별하기 Programming/PHP2009/09/26 12:25

ajax로 요청한 값인지, 일반적인 웹페이지에서 요청한 값인지를 알아내는 방법입니다.

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
    // Ajax Request일 경우
    echo 'This is an ajax request!';
    exit;
}
// Ajax Request가 아닐 경우
echo 'This is clearly not an ajax request!';

아래와 같이 define을 해서 사용 하셔도 좋습니다.

// Define Ajax Request
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');

필요한 곳에 if( IS_AJAX) 이렇게 사용하시면 됩니다.
저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 신규하

PHP개발에 관해서 찾다가..


이라는 글을 찾았습니다.
오호~ PHP에도 Framework라는 개념이 있더군요.
그래서 PHP Framework를 선택하기 위해서 이런저런 자료를 조사 하면서 조사한 내용을 정리 해 볼려고 합니다.

Ruby On Rails의 영향으로 웹 프로그래밍에서 Framework에 대한 관심이 폭발적으로 늘어나게 되고, PHP에서도 Framework에 지원이 활발하게 진행이 되었나 봅니다. 그리고 위의 글에서와 같이 여러개의 PHP Framework가 생겨 나게 되고, 현재 주류를 이루고 있는 Framework는 4개 정도로 압축 되는거 같습니다.

  • Zend Framework
  • CakePHP
  • Code Igniter
  • Symfony

자료를 찾아서 나름대로 특징을 정리 해 봤습니다.



Zend Framework
zend framework

  1. PHP의 핵심 기부자인 Zend Technologies에서 개발.
  2. PHP5 만 지원
  3. 다양한 DB 데이터베이스 추상화
  4. 확장가능한 MVC 모델 지원
  5. HTML 폼 렌더링 및 유효성 검사 지원
  6. 유연한 캐싱 서브 시스템
  7. 엄격한 코드 테스트를 거친 안정된 코드
  8. 국제화 지원
  9. 많은 양의 예제 지원
  10. new BSD 라이센스
  11. 국내 사용자 포럼을 못 찾았음.

CakePHP

  1. PHP4, PHP5 지원
  2. 구조화 된 MVC모델 지원
  3. 데이터베이스 인터랙션과 간략화한 쿼리를 위한 CRUD 가 통합됨
  4. 애플리케이션 스캐폴딩
  5. 보기좋은 맞춤 URL 의 요청 디스패처
  6. 빠르고 유연한 템플릿 기능 (PHP 문법, 각종 헬퍼 포함 )
  7. AJAX, 자바스크립트, HTML 폼을 위한 각종 뷰 헬퍼
  8. 보안, 세션, 리퀘스트 등을 처리하는 컴포넌트
  9. 유연한 뷰 캐시
  10. 유연한 접근 제한 목록
  11. 자료 검사 기능 내장
  12. 국제화 지원
  13. MIT License
  14. CakePHP 한국 사용자 모임.

Code Igniter

  1. PHP4, PHP5 지원
  2. 설치가 간편하다.
  3. 잘 정리된 문서
  4. 확장이 용이하다.
  5. MVC 모델 지원
  6. 간견한 문법
  7. 다른 프레임워크에 비해 빠른 속도
  8. 국제화 지원
  9. BSD 라이센스
  10. CodeIgniter 한국 사용자 모임
  11. CodeIgniter 한글 메뉴얼


Symfony

  1. PHP5만 지원
  2. 간단한 템플릿과 도우미(Helpers)
  3. 캐시 관리
  4. 기본 골격 (CRUD/Admin generator)
  5. 스마트 URLs (routing policy)
  6. 국제화 지원
  7. 객체모델과 MVC 분리
  8. MIT License
  9. 국내 사용자 포럼을 못 찾았음.

주요 특징들의 위와 같습니다. 여기저기서 찾은 자료들이라서 ^^;; 잘 비교가 되지 않네요..



실행 속도 비교

그리고 다음은 중요한 실행 속도 입니다.
4개의 Framework를 모두 비교한 자료는 찾지를 못했습니다.
먼저 Zend Framework, CakePHP, CodeIgniter를 비교한 결과를 그래프로 그려 봤습니다.


그래프에서 높을 수록 빠른 겁니다. CodeIgniter가 독보적인 선두를 보이고 있습니다. 그리고 Zend Framework와 CakePHP가 뒤를 따르고 있습니다.
그런데 Symfony에 대한 비교가 없어서, CakePHP, Zend Framework, Symfony의 속도를 비교를 검색해 봤는데.. 최근에 비교한 내용을 찾을 수가 없었습니다.
그래서 결국 이상한 나라의 언어(글을 보고 어떤 나라인지 유추를 못 하겠네요 ^^;;;)로 된 페이지를 찾았습니다. 언어는 해독 불가(-_-;;) 이지만, 그래프는 볼 수 있어서.. 첨부 합니다.

위와 같은 그래프가 나오더군요.. 결국 Symfony가 4개의 프레임워크 중에서 가장 늦은 속도를 가지고 있는거 같습니다.



그럼 대세는?
마지막으로 Google Trends의 그래프를 첨부하겠습니다.
검색의 빈도를 통해서 어떤게 관심을 받는지 보는건데,
검색 결과로 봐서는 cakephp가 1위 이지만, 가장 후발 주자로 시작한 codeingniter가 많이 따라잡고 있는 것으로 볼 수 있습니다.



여기 까지 PHP Framework를 소개하는 포스팅을 마칠려고 합니다.
비교는 여기까지이고 PHP의 Framework의 선택은 개발자의 몫이 아닐까 합니다.
저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 신규하
2009/07/04 10:32

Eclipse 3.5 + PDT 2.1 설치하기.. Programming/PHP2009/07/04 10:32

Xampp + Eclipse + PDT 설정하기.

이전에 포스팅 한 글에서 Eclipse가 지난달 5월 26일에 새로운 버전으로 올라 가면서,
설치 하는 방법에 변경이 생겨서 포스팅 합니다.

이번 이클립스 갈리레오에서는 PDT가 포함된 버전이 배포가 되고 있습니다.
추천은 그냥 PHP for Eclipse를 설치 하는 것을 추천합니다.

이클립스 다운로드 : http://www.eclipse.org/downloads/


PHP 패키지를 선택하면 PHP개발은 수월하게 하실 수 있습니다.
하지만, 그래도 꼭 JEE나 다른 패키지에서 설치 하실 분만 아래 내용을 보시면 됩니다.

우선 설치 방법이 약간 변경 되었습니다.

예전에는 Software Update 항목에 같이 있었는데 추가 설치는 분리 되어 나와 있더군요.

PDT 설치 사이트에서는
Help > Install Software...
Select the Galileo Update site
Select the PDT or PDT SDK Feature
Install...
이렇게 해서 해서 설치 하면 된다고 했는데.. PDT를 치면 이전 1.X 버전대가 나와서.. 직접 추가를 해 주셔야 합니다..
이 글을 보실 때 쯤에는 패치가 되어서 2.X대가 나올지도 모르겠습니다 ^^;;
먼저 PDT로 검색을 해 보시고.. 2.X버전이 안 나오면 아래 글을 따라해 주세요.

Help > Install New Software...  항목을 선택하시고
Add버튼을 누릅니다.
이름은 마음에 드는 이름으로 고치셔도 됩니다.
Location 에 http://download.eclipse.org/tools/pdt/updates/2.0/ 를 넣어 주시고 OK를 눌러 주세요.

그리고 PDT SDK 2.1에서 하나를 선택해서 Finish를 눌러 주시면 열심히 설치 합니다.

그리고 나머지 XAMPP나 이클립스에서 PDT에서 디버깅 설정은 예전에 포스팅을 참고해 주시면 되겠습니다.

참고

저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 신규하

fireBug를 이용해서 PHP를 디버깅 하기 위해 나온 firePHP 입니다.
그런데 이 firePHP가 PHP뿐만 아니라 여러 플랫폼에서도 돌아 가네요.


사용법은 홈페이지 잘 나와 있어서 생략합니다.

웹 개발 하시는 분들이라면 참고 하세요 ^^;
크리에이티브 커먼즈 라이선스
Creative Commons License
TAG Debug, firePHP, php, Web
Posted by 신규하
2009/06/11 18:06

Xampp + Eclipse + PDT 설정하기. Programming/PHP2009/06/11 18:06

PHP를 개발을 할려고 하다가, 뭔가 좋은 툴이 없을까 찾다가..
Eclipse를 사용하기로 했습니다.
우선 무료이고, PHP의 디버깅이 가능 하다는 장점에서 이런 구성을 하게 되었습니다.
나중에는 Linux에 설정을 하겠지만, 우선 개발은 XP에서 할려고 XP에 설정 합니다.

1. Xampp 설치하기.
현재 버전은 1.71입니다.
  • Apache HTTPD 2.2.11 + Openssl 0.9.8i
  • MySQL 5.1.33
  • PHP 5.2.9
  • phpMyAdmin 3.1.3.1
  • XAMPP CLI Bundle 1.3
  • FileZilla FTP Server 0.9.31
  • Mercury Mail Transport System 4.62
이렇게 같이 있는 종합 선물 세트 같은 물건 입니다.

주소 : http://www.apachefriends.org/en/xampp-windows.html

여기서 다운 받으셔서, 설치 하시면 됩니다.
설치는 정말 쉽습니다. Next만 누르면 설치 됩니다.

2. Eclipse 설치하기.
이클립스를 설치 하기 위해서는 Java SE Runtime Environment(JRE)이상 버전이 필요 하다고 합니다.
자바 개발을 하실꺼 아니시면, JRE버전을 받고 자바를 개발 하실 분이라면 SDK정도는 받아 주시면 좋겠죠?

주소 : http://java.sun.com/javase/downloads/index.jsp

이것 역시 Next만 누르면 설치 됩니다. 또 생략 ^^;;

이 다음은 2가지 방법이 있습니다. PDT가 들어 있는 All in One세트가 있습니다.
이걸 받아서 하실 분은 아래 주소에서 다운 받아서

주소 : http://www.eclipse.org/pdt/downloads/

압축을 풀고 실행해 주시면 이번 포스팅에서는 설치는 완료입니다. ^^;

여기 보면 PHP Debugger도 받으라고 하는데.. 이건 XAMPP에 들어 있습니다.
다음 글에서 설명 드릴겁니다.

그래도 "이왕이면 받아서 설치 하고 싶으시다." 하시면, 아래 글 대로 진행 하시면 됩니다.

아래 주소에서 이클립스를 다운 받습니다.

주소 : http://www.eclipse.org/downloads/

흠... 이 주소를 누르고 나서 당황스럽더군요.. -_-;; 왜 이렇게 종류가 많은지 뭘 받아야 할지 모르겠더라구요..
사용자 삽입 이미지
그런데 Compare Packages를 보니.. 왠지 Web Tools과 XML Tools가 필요 할꺼 같아서 전 JEE를 받았습니다.

이클립스는 받으시셔 사용하고 싶은 디렉토리 압축을 푸시면 됩니다.

3. PDT설치 하기.
처음 실행하면 workspace경로를 설정하라고 합니다. 원하시는 위치에 설정을 하시면 됩니다.
그리고 이클립스 실행 화면이 나오면,
사용자 삽입 이미지

Help에 Software Updates..를 선택합니다.
Software Updates and Add-ons라는 화면이 나오면, Add Site 버튼을 누르고
사용자 삽입 이미지

주소 : http://download.eclipse.org/tools/pdt/updates

위 주소를 추가해 줍니다.

그리고 나면 열심히 뭔가 주소가 추가 됩니다.
여기서 PDT SDK를 선택하시고 Install버튼을 눌려 주시면 됩니다.
전 제가 더 쓰고 싶은게 있어서 추가로 설치 했습니다 ^^;;
사용자 삽입 이미지

설치 과정이 끝나고 나면, 이클립스를 재시작 하게 됩니다.

여기까지 완료 하시면, 프로그래밍 설치는 끝난 겁니다.
다음은 프로그램 디버그 모드를 보겠습니다.


크리에이티브 커먼즈 라이선스
Creative Commons License
TAG Eclipse, PDT, php, XAMPP
Posted by 신규하
2009/06/11 10:37

Xampp + Eclipse + PDT 디버깅하기. Programming/PHP2009/06/11 10:37

앞글에서 XAMPP와 Eclipse, PDT설정에 이어
드디어 디버깅입니다.

1. XAMPP 설정하기.
디버깅은 Zend나 XDebug 둘 중 하나로만 가능 합니다.
두 개 다 쓸 수는 없다고 합니다.
여기서는 XDebug로 해 보겠습니다.

먼저 php.ini파일을 수정을 해야 합니다.
그냥.. 기본 설치를 하셨다면 C:\xampp\php\ 파일이 있을 겁니다.


[Zend]
;zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
;zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
;zend_optimizer.enable_loader = 0
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"
[Zend] 영역은 앞에 ";"를 넣어 줘서 주석 처리를 합니다.
그리고 [XDebug]의 주석 처리 되어 있던 것의 주석을 모두 풀어 줍니다.

그리고 XAMPP의 서비스를 새로 시작합니다.
시작하는 방법은 바탕화면에 생긴 "XAMPP Control Panel"를 실행해서 Stop을 눌러 줬다가, Start를 눌러 주시면 됩니다.

설정이 잘 되었는지 확인하는 방법은
C:\xampp\htdocs 폴더에

<? phpinfo() ?>

내용의 파일을 만들어서 실행해 보면 됩니다.
아래와 같이 with Xdebug가 출력 되면 잘 설정이 된겁니다.

사용자 삽입 이미지


2. Eclipse 프로젝트 만들기.
먼저 프로젝트를 추가해 줍니다.
여기서는 C:\xampp\htdocs폴더에 debug라는 폴더를 만들어서 해 보겠습니다.
사용자 삽입 이미지
File > New > Project를 실행합니다.
사용자 삽입 이미지
PHP Project를 선택합니다.
사용자 삽입 이미지
디버그를 할 폴더를 선택하고 Finish버튼을 누릅니다.
사용자 삽입 이미지

그러면 친절하게도 PHP perspective로 바꿔 준다고 합니다. Yes를 누릅니다.

그리고 디버그를 할 파일을 하나 만듭니다.
사용자 삽입 이미지
전 위와 같이 입력하고.. for 옆을 더블 클릭해서 브레이크 포인트를 만들어 줍니다.


3. Debug 설정하기.
Windows > Preferences를 선택합니다.
사용자 삽입 이미지

PHP > PHP Servers에서 첫번째를 선택하면 Edit를 클릭합니다.
사용자 삽입 이미지
사용자 삽입 이미지

사용자 삽입 이미지
설정을 위와 같이 맞춥니다.

Run > Debug Confiurations를 선택합니다.
사용자 삽입 이미지
사용자 삽입 이미지
PHP Web Page > Server에서 PHP Debugger를 XDebug로 선택합니다.
그리고 디버깅할 파일을 선택합니다.
그리고 Apply를 누르고 Close를 눌러서 닫습니다.

사용자 삽입 이미지
이제 프로젝트 파일에서 디버그할 파일에서 오른쪽 버튼을 누르고, Debug As > PHP Web Page를 선택합니다.

사용자 삽입 이미지
그러면 또 한번 PHP Debug Perspective로 연다고 나오고 Yes를 누르면 디버그가 시작 됩니다.

사용자 삽입 이미지
아끼 for 문 앞에 브레이크 포인트가 걸렸습니다 아직 $i의 값이 설정이 되지 않아서 <Uninitialized>라고 나오는 군요.

여기서 부터는 F5, F6을 누르면서 진행 하시면 되고 다음 브레이크 포인트 까지 F8을 누르면 됩니다.
끝~


여기 까지 입니다...
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 신규하