wxPHP

wxPHP
WxPHP
wxphp logo
개발자마리오 소아레스
제퍼슨 곤살레스
안정된 릴리스
3.0.2.0 / 2015년 5월 30일, 7년 전(2015-05-30)[1]
기입처C/C++ / PHP
운영 체제크로스 플랫폼
유형프로그래밍 라이브러리
면허증.PHP 라이선스
웹 사이트wxphp.org

wxPHP는 "wxWidgets for PHP"의 약자로 wxWidgets 라이브러리를 랩하는 PHP 확장입니다. 이를 통해 다양한 플랫폼에서 사용할 수 있는 네이티브 그래픽 구성 요소를 사용하는 멀티 플랫폼 데스크톱 애플리케이션을 쓸 수 있습니다.다음 3가지 주요 운영 체제를 지원합니다.Windows, LinuxMac OS X(PHP 언어 사용)응용 프로그램은 PHP 언어로 작성되며, 인터프리터 언어이므로 PHP 인터프리터가 확장자를 사용할 수 있는 경우 응용 프로그램을 실행하기 위해 중간 컴파일 단계가 필요하지 않습니다.

역사

2003년 무렵, 열성적인 사람들이 메일링[2] 리스트와 포럼에 글을 쓰기 시작했는데, 이는 PHP-GTK가 GTK+에 대해 하는 것과 유사한 방식으로 wxWidgets 라이브러리를 랩핑하는 PHP 확장의 아이디어를 제시했습니다.SourceForge 프로젝트가 만들어졌고[3], 많은 사람들이[4] 그 원인을 발전시키고 실현하기 위한 노력에 동참했습니다.프로젝트 멤버들의 의지에도 불구하고, 마리오 소아레스가 [6]참여하기로 결정할 때까지 아무런 진전이 없었다[5].가입 후 SourceForge의 CVS 저장소에 대한 첫 번째 커밋이 이루어졌습니다.첫 번째 커밋은 wxApp 클래스, wxFrame 및 기타 기본 컨트롤로 구성되어 있습니다.이것은 wxPHP가 처음으로 빛을 본 시점입니다.SWIG와 같은 래퍼 생성기에서 영감을 받아, GCCXML의[7] 출력을 wxWidgets에서 읽고 직렬화된 PHP 배열로 변환하는 단순한 코드 생성기 개발이 시작되었습니다.이를 통해 각 클래스 및 메서드에 대해 동일한 코드를 몇 번이고 작성하는 단조로운 작업에 많은 시간을 절약할 수 있었습니다.몇 가지 기본적인 기능 및 제어 기능을 갖춘 후 wxPHP 자체를 사용하여 응용 프로그램을 작성하여 코드 생성기가 올바르게 처리할 수 있는 클래스 메서드를 선택할 수 있도록 지원합니다.

2011년 8월 Jefferson Gonzallez는 wxPHP의 존재감을 높이기 위해 웹사이트를 만들겠다고 현 유지관리자에게 이메일을 보냈습니다.웹사이트가 가동되고 있을 때, 그는 wxPHP 소스를 가지고 놀기 시작했습니다.나중에 코드 생성기와 확장자 자체에서 지원되지 않는 기능이 많다는 것을 발견하고 더 많은 메서드와 클래스를 활성화하기로 결정했습니다.여러 이메일을 보낸 후 이전 개발자는 WxWidget 문서에서 Doxygen에 의해 생성된 XML 출력을 해석하는 아이디어를 얻었습니다.그는 부여된 태스크를 받아들여 다시 작성될 때까지 코드 생성기를 개선하기 시작했고, 부족한 문서와 wxWidgets 기능을 추가할 수 있는 많은 기능을 추가했습니다.

현재의.

wxPHP는 현재 약 400개의 wxWidgets 클래스와 수천 개의 메서드를 지원하므로 데스크톱 상용 애플리케이션 개발에 매우 유용합니다.프로젝트 소스 코드가 GitHub에서 호스팅됩니다.wxPHP 확장에서 지원되는 기능의 문서로서 기능하는 참조 생성기가 작성되었습니다.또한 NetBeans나 Eclipse와 같은 IDE에서 코드완성하기 위해 인터페이스[8] 생성기가 작성되었습니다.다른 사람들이 다른 PHP [9]래퍼용 코드를 생성하기 위해 코드 생성기를 사용할 수 있도록 하는 모듈러형 객체 지향 접근 방식을 사용하여 코드 생성기를 다시 작성하는 계획이 진행 중입니다.

GUI 디자이너

응용 프로그램을 쉽게 만들고 라이브러리에 익숙하지 않은 사람들이 빨리 배울 수 있도록 하기 위해 wxFormBuilder에 PHP 코드 생성 지원이 추가되었습니다.

메뉴 항목, 버튼, 상태 표시줄 및 클릭 이벤트 연결을 포함하는 메뉴 표시줄을 추가하는 방법을 보여 주는 최소 프레임 예제입니다.

<?개요  학급 메인프레임 확장 wx프레임 {     기능. 종료하다()     {         $ this->파괴하다();     }      기능. onAbout(OnAbout)()     {         $dlg = 신규 wxMessageDialog(                 $ this,                 "wxPHP에 오신 것을 환영합니다!!\nwxWidgets 3.0.0 기반\n\n이것은 최소한의 wxPHP 샘플입니다!",                 "상자에 대해서....",                 wxICON_정보         );          $dlg->Show Modal();     }      기능. __개요()     {          부모::__개요(                  무효,                   무효,                   "최소 wxPHP 앱",                   wxDefaultPosition(기본위치),                   신규 크기(350, 260)          );           $mb = 신규 wxMenu바();           백만달러 = 신규 wx메뉴();          백만달러->추가(2, "E&XIT", "이 프로그램 종료");          $mb->추가(백만달러, "파일");           백만달러 = 신규 wx메뉴();          백만달러->Adpend Check Item(4, "&About....", "대화상자 표시");          $mb->추가(백만달러, "&헬프");           $ this->Set Menu Bar(설정 메뉴 바)($mb);           사이트 비용 = 신규 wxStyledTextCtrl($ this);           $sbar = $ this->Create Status Bar(작성 상태 바)(2);          $sbar->Set Status Text(상태 텍스트 설정)("wxPHP에 오신 것을 환영합니다...");           $ this->연결하다(2, wxEVT_COMMAND_MENU_SELECTED, 배열($ this,"onQuit"));          $ this->연결하다(4, wxEVT_COMMAND_MENU_SELECTED, 배열($ this,"개요"));     } }  $mf = 신규 메인프레임(); $mf->표시();  wx();   ?> 

「 」를 참조해 주세요.

  • PHP-GTK, GTK+로의 PHP 바인딩
  • PHP-Qt, Qt 툴킷에 대한 PHP 바인딩
  • WinBinder, PHP의 네이티브 창
  • HTML5 Chrome/을 탑재한 PHP 데스크톱 GUI 프레임워크IE 엔진

레퍼런스

  1. ^ GitHub의 "변경"
  2. ^ "wxPHP?". Retrieved 2012-06-06.
  3. ^ "wxPHP has Risen". Retrieved 2012-06-06.
  4. ^ "wxPHP SourceForge Mailing list". Retrieved 2012-06-06.
  5. ^ "wxPHP Progress". Retrieved 2012-06-06.
  6. ^ "Working Version". Retrieved 2012-06-07.
  7. ^ "GCC-XML". Retrieved 2012-06-06.
  8. ^ "Code Completion Interface File". Retrieved 2012-06-06.
  9. ^ "PEG - A PHP Extension Generator".