wxPHP
![]() Логотип wxPHP | |
Разработчик(и) | Марио Соарес Джефферсон Гонсалес |
---|---|
Первоначальный выпуск | 2003 год |
Стабильная версия | 3.0.2.0
/ 30 мая 2015 г [1] |
Репозиторий | |
Написано в | С , С++ , PHP |
Операционная система | Кроссплатформенность : Windows , Linux , macOS. |
Тип | Библиотека программирования |
Лицензия | PHP |
Веб-сайт | wxphp |
wxPHP (от wxWidgets for PHP ) — это расширение языка программирования PHP , которое включает в себя wxWidgets и библиотеку позволяет писать кроссплатформенные настольные приложения, использующие собственные графические компоненты, доступные для различных платформ. Он поддерживает три основные операционные системы : Windows , Linux и macOS , используя PHP . Приложения пишутся на PHP, который является интерпретируемым языком. не требуется промежуточный этап компиляции Таким образом, для запуска приложения , если интерпретатор PHP имеет доступное расширение.
История
[ редактировать ]Около 2003 года группа энтузиастов начала писать в списки рассылки. [2] и форумы, представляющие идею расширения PHP , которое обертывает библиотеку wxWidgets аналогично тому, как PHP-GTK делает для GTK +. SourceForge . Создан проект [3] и многие люди присоединились [4] в попытке продвинуть дело вперед и сделать его реальностью. Несмотря на волю участников проекта, прогресса добиться не удалось. [5] пока Марио Соареш не решил присоединиться. [6] После присоединения были сделаны первые фиксации в репозитории системы параллельных версий (CVS) на SourceForge. Первые коммиты включали в себя обертку класса wxApp , wxFrame и некоторых других базовых элементов управления, именно тогда wxPHP впервые увидел свет. Вдохновленная генераторами оболочек, такими как Simplified Wrapper and Interface Generator ( SIG ), была начата разработка простого генератора кода , который считывает выходные данные GCCXML. [7] запустил wxWidgets и преобразовал в сериализованный массив PHP. Это помогло сэкономить много времени на монотонной задаче многократного написания одного и того же кода для каждого класса и его методов . После наличия некоторых базовых функций и элементов управления приложение было написано с использованием wxPHP, чтобы помочь генератору кода выбрать методы класса, которые он сможет правильно обрабатывать.
В августе 2011 года Джефферсон Гонсалес написал письмо сопровождающему, предлагая создать веб-сайт, который увеличит присутствие wxPHP и привлечет больше людей и участников. Когда веб-сайт был запущен, он начал работать с исходным кодом wxPHP . Позже он решил включить больше методов и классов, обнаружив, что многие функции не поддерживаются генератором кода и расширением. После нескольких электронных писем предыдущему разработчику пришла в голову идея проанализировать вывод XML , сгенерированный Doxygen, из документации wxWidget. Он взял на себя работу и начал улучшать генератор кода, пока он не был переписан, добавляя недостающую документацию и множество функций, которые позволили бы добавить больше функций wxWidgets.
Подарок
[ редактировать ]По состоянию на 2012 год [update], wxPHP поддерживает около 400 классов wxWidgets и тысячи методов, что делает его пригодным для разработки коммерческих приложений для настольных компьютеров. Исходный код проекта теперь размещен на GitHub . Был написан генератор ссылок, который служит документацией функций, поддерживаемых расширением wxPHP. Также генератор интерфейса [8] был написан для обеспечения завершения кода в интегрированных средах разработки (IDE), таких как NetBeans и Eclipse . В настоящее время планируется еще раз переписать генератор кода с использованием модульного и объектно-ориентированного подхода к программированию, который позволит другим использовать его для генерации кода для других оболочек PHP. [9]
Дизайнер графического интерфейса
[ редактировать ]была добавлена поддержка генерации PHP-кода В wxFormBuilder , чтобы упростить создание приложений и дать людям, не знакомым с библиотекой, возможность быстрее ее изучить.
Пример
[ редактировать ]Пример минимального фрейма, показывающий, как добавить строку меню с пунктами меню, кнопкой, строкой состояния и подключением событий щелчка.
<?php
class MainFrame extends wxFrame
{
function onQuit()
{
$this->Destroy();
}
function onAbout()
{
$dlg = new wxMessageDialog(
$this,
"Welcome to wxPHP!!\nBased on wxWidgets 3.0.0\n\nThis is a minimal wxPHP sample!",
"About box...",
wxICON_INFORMATION
);
$dlg->ShowModal();
}
function __construct()
{
parent::__construct(
null,
null,
"Minimal wxPHP App",
wxDefaultPosition,
new wxSize(350, 260)
);
$mb = new wxMenuBar();
$mn = new wxMenu();
$mn->Append(2, "E&xit", "Quit this program");
$mb->Append($mn, "&File");
$mn = new wxMenu();
$mn->AppendCheckItem(4, "&About...", "Show about dialog");
$mb->Append($mn, "&Help");
$this->SetMenuBar($mb);
$scite = new wxStyledTextCtrl($this);
$sbar = $this->CreateStatusBar(2);
$sbar->SetStatusText("Welcome to wxPHP...");
$this->Connect(2, wxEVT_COMMAND_MENU_SELECTED, array($this,"onQuit"));
$this->Connect(4, wxEVT_COMMAND_MENU_SELECTED, array($this,"onAbout"));
}
}
$mf = new mainFrame();
$mf->Show();
wxEntry();
?>
См. также
[ редактировать ]- PHP-GTK , привязка PHP к GTK+
- PHP-Qt, привязки PHP к набору инструментов Qt
- WinBinder , собственные привязки окон для PHP.
- PHP Desktop , инфраструктура графического пользовательского интерфейса PHP для настольных компьютеров с движком HTML5 Chrome/IE
Ссылки
[ редактировать ]- ^ «Изменения» на GitHub
- ^ "wxPHP?" . Проверено 6 июня 2012 г.
- ^ «wxPHP воскрес» . Проверено 6 июня 2012 г.
- ^ «Список рассылки wxPHP SourceForge» . Проверено 6 июня 2012 г.
- ^ «Прогресс wxPHP» . Проверено 6 июня 2012 г.
- ^ «Рабочая версия» . Проверено 7 июня 2012 г.
- ^ «GCC-XML» . Проверено 6 июня 2012 г.
- ^ «Файл интерфейса автодополнения кода» . Проверено 6 июня 2012 г.
- ^ «PEG: генератор расширений PHP» .