Jump to content

wxPHP

wxPHP
Разработчик(и) Марио Соарес
Джефферсон Гонсалес
Первоначальный выпуск 2003 год ; 21 год назад ( 2003 )
Стабильная версия
3.0.2.0 / 30 мая 2015 г .; 9 лет назад ( 30 мая 2015 ) [1]
Репозиторий
Написано в С , С++ , PHP
Операционная система Кроссплатформенность : Windows , Linux , macOS.
Тип Библиотека программирования
Лицензия PHP
Веб-сайт wxphp .org

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 год , 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
  1. ^ «Изменения» на GitHub
  2. ^ "wxPHP?" . Проверено 6 июня 2012 г.
  3. ^ «wxPHP воскрес» . Проверено 6 июня 2012 г.
  4. ^ «Список рассылки wxPHP SourceForge» . Проверено 6 июня 2012 г.
  5. ^ «Прогресс wxPHP» . Проверено 6 июня 2012 г.
  6. ^ «Рабочая версия» . Проверено 7 июня 2012 г.
  7. ^ «GCC-XML» . Проверено 6 июня 2012 г.
  8. ^ «Файл интерфейса автодополнения кода» . Проверено 6 июня 2012 г.
  9. ^ «PEG: генератор расширений PHP» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 11b1365ed13bd7b6702fe08aefd19f13__1697392140
URL1:https://arc.ask3.ru/arc/aa/11/13/11b1365ed13bd7b6702fe08aefd19f13.html
Заголовок, (Title) документа по адресу, URL1:
wxPHP - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)