head	1.1;
access;
symbols;
locks
	root:1.1; strict;
comment	@# @;


1.1
date	2009.12.16.15.51.38;	author root;	state Exp;
branches;
next	;


desc
@/opt/nforge/var/wiki/easylogiclib/data/text/WinBinder_ec_84_a4_ec_b9_98_eb_b0_8fWindow_eb_9b_b0_ec_9a_b0_ea_b8_b0
@


1.1
log
@211.179.76.5;;cyberuls easylogic ;;
@
text
@= [WinBinder] 설치 및 window 뛰우기 = 


드디어 첫번째 강좌를 올립니다. 기대해주세요. winbinder 관련된 설정부터 한번 해볼게요. 


== PHP Install == 
* homepage : www.php.net 
* download : php download 
* 5.2버전 이상을 다운로드 받아서 설치해주세요. 

== Winbinder Install ==
* homepage : www.winbinder.org 
* download : php 5.2.x 버전이후 사용 dll , winbinder dll download 
* 다운로드 받아서 압축을 풀고 PHP-5.2.0 디렉토리에 있는 php_winbinder.dll 을 php 설치 디렉토리의 ext 안으로 복사해주세요. 
* php.ini 파일에 extension=php_winbinder.dll 추가 해주시구여. 

== Winbinder PHP 관련 파일 인클루드 == 

* download : winbinder php 관련파일 다운로드 
압축을 푼 후에 phpcode/include 디렉토리에 있는 4가지 파일을 실행시킬 php 있는 곳에 둡니다. 
          wb_generic.php, wb_resources.inc.php, wb_windows.inc.php, winbinder.php 
winbinder.php 를 include 해서 사용해주세요. 
* 위의 4가지 파일들은 php_winbinder.dll 자체에서 제공하지 않는 여러가지 부가함수들을 포함하고 있어서 필수로 include 를 하고 시작해야합니다. 

 * 이번 강좌에서는 이 파일을 인클루드 하는게 없습니다. 자동으로 인클루드 되게끔 해놨습니다. 파일을 다운로드 받지 않으셔도 됩니다. 

== Winbinder PHP 관련 파일 인클루드 2번째 ==
* winbinder에서 bmp 이외의 이미지 관련 작업을 할려면 FreeImage 라는 라이브러리가 필요합니다. 
* fi/freeimage.inc.php 을 include 해서 image 관련 함수들을 실행합니다. 
* Free Image download : freeimage.sourceforge.net 
* 다운로드 받은 파일 압축풀고 Dist 디렉토리에 있는 FreeImage.dll 을 php 설치 디렉토리의 ext/ 에 복사해주세요. 

자, 지금까지 하셨으면 winbinder 를 위한 아주 아주 기본적인 실행환경이 완성되었습니다. 

PHP-GTK 같은 경우 환경설정이 조금 복잡할 수 있는데요, winbinder 의 경우 php.ini 파일에 dll 만 설정하고 사용하면 됩니다. 

그럼 이제  실제로 oop 형태의 라이브러리를 사용하는 방법을 알아보겠습니다. 


=== Install ===

* easylogic lib 을 다운로드 받아서 압축을 푼다. 설치 끝 ~! 
* 다운로드 : http://www.easylogic.co.kr/wiki/mediawiki/index.php/%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C
* 가장 최신 버전을 받으시기 바랍니다. 

=== Set php.ini ===

* 위의 라이브러리를 받으면 uselib 이라는 디렉토리가 나오는데 사용하고 싶은 곳에 압축을 푸시면 됩니다. 
* 여기서는 c:\easylogic\uselib 이라고 가정하겠습니다. 
* php.ini 파일에 include_path 에 lib 디렉토리를 설정합니다. 
          include_path = ".;c:\easylogic\uselib"
* Import 
php.ini 파일 속성 중 auto_prepend_file 설정으로 해서 import.php 를 include 하셔도 되구여. 
          auto_prepend_file = "import.php"
아님 페이지에서 직접 import.php 파일을 include 하셔도 됩니다. 
      <php> <?php include_once "import.php"; ?> </php>


* 이 강좌에서는 auto_prepend_file 속성을 설정하는 것으로 가정합니다. 


자, 또 간단하게 easylogic library 의 설치가 끝났습니다. ^^ 간단하죠,
약간의 부가 설명을 드리자면 easylogic library는 제가 db 관련 조작을 할려고 만든 클래스 기반으로 보시면 됩니다.  
거기에 winbinder 를 덧붙인 것이구여, 그래서 db 라이브러리도 모두 포함합니다. 
사용하시고 싶으시면 같이 쓰셔도 되요. 
그럼 이제 window를 뛰워보죠. ^^ 
Basic
test.phpw 라는 이름으로 아래의 소스를 만듭니다. 
<php>
<?php
// 예제 1. 고정크기 윈도우 뛰우기 
$window = new WBAppWindow(array(
'title' => 'TEST 윈도우',
'width' => 300, 
'height' => 300, 
)); 
$window->setVisible(true); 


WBApplication::start(); 
 ?>
</php>

너무 심플하죠 , 300 * 300 짜리 윈도우를 만든 예제입니다. 

=== Run ===

<php>
..\php5\php.exe test.phpw
</php>


파일을 실행하실려면 php.exe 나 php-win.exe 를 사용하게 됩니다. 


여기서는 개발할 용도로 사용 할 것이기 때문에 php.exe 를 사용하겠습니다. 


php-win.exe 로 하면 실행할 때는 좋은데 화면 출력이 지원되지 않습니다. ^^;; 나중에 실제 어플 적용할 때는 php-win.exe으로 해보세요. 


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


부록 1. 


위의 내용은 일반적으로 제가 만든 oop 라이브러리로 winbinder 를 실행하는 방법입니다. 


윈도우 하나 뛰우는데 ide 뛰우고 화면 만들고 코드 컴파일 하고 이런 작업이 필요가 없습니다. ^^ 


코드를 보시면 조금 의문이 드실게  include 함수도 쓰지 않았는데 WBAppWindow 라는 클래스를 생성하는 것을 보실 수 있습니다. 어떻게 된 것일까요? ^^ 


해답은 


http://cafe.naver.com/phpcafe/6307 


이전에 제가 적었던 이 글에 있습니다. php 파일을 자동 import 하는 방법인데요. 
여기에 php5 버전이 되면서 __autoload() 라는 매직함수를 지원하게 됩니다. 


__autoload 는 선언되지 않은 클래스를 부를 때 자동으로 호출하는 함수입니다. 
import() 의 기능을 조금 썪어서 씁니다. 


제가 만드는 모든 예제는 모두 클래스 기반이고 그래서 모두 include 명령어가 붙지를 않습니다. 
찾아 헤매시지 않으셔도 됩니다. ^^ 


하지만 이 모든 기능을 쓸려면 


import.php 파일을 꼭 include 하셔야 하구여(자세한 내용은 윗부분에 있습니다.)


또 하나 중요한 것이 import.php 파일 옆에 class.ini 라는 파일이 있습니다. 


class.ini 는 등록된 모든 클래스에 대한 네임스페이스를 저장해두는 파일인데요. 
여기에 등록된 클래스만 사용 할 수 있습니다. 클래스를 따로 생성하시면 여기에 꼭 등록해주세요. ^^ 




참고 : http://www.easylogic.co.kr/wiki/mediawiki/index.php/EasyLogic
@
