PHP FFI IUP: Create GUI user interfaces using the UIP toolkit

Recommend this page to a friend!
  Info   View files Example   View files View files (64)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog (1)    
Last Updated Ratings Unique User Downloads Download Rankings
2021-01-30 (7 months ago) RSS 2.0 feedNot yet rated by the usersTotal: 126 This week: 1All time: 9,203 This week: 197Up
Version License PHP version Categories
php-iup 1.0.0Custom (specified...7.4Unix, GUI, PHP 7, FFI
Description Author

This package can be used to create GUI user interfaces using the FFI extension.

It provides a class that uses the PHP FFI extension to execute C code provided in this package so it can build desktop build user interfaces using the IUP GUI toolkit on Linux.

Currently it can create user interfaces with many types of widgets like

- Display values from a arrays in a matrix widget
- Alarm window
- Animated label
- Button,
- Background or a content box
- Canvas
- Clipboard
- Calendar
- Color bar
- Dial
- Date pick
- Dialog windows
- Expander
- Flat tabs
- Web view
- Scintilla based code editor
- Etc..

Innovation Award
PHP Programming Innovation award nominee
January 2021
Number 2
The UIP toolkit is a library that can be used to build desktop based graphical user interfaces (GUI) that can work in different operating systems.

This package provides a solution for creating GUI based PHP applications by providing means to call the UIP toolkit library on Linux.

Manuel Lemos
Picture of Shubham Chaudhary
  Performance   Level  
Name: Shubham Chaudhary <contact>
Classes: 3 packages by
Country: India India
Innovation award
Innovation award
Nominee: 3x

Winner: 2x

Details

php-iup IUP Logo

php-ffi experiment

php7.4 interface to the IUP toolkit for building GUI's.

Description

IUP-Toolkit

IUP is a multi-platform toolkit for building graphical user interfaces. IUP's purpose is to allow a program source code to be compiled in different systems without any modification. Its main advantages are:

  • It offers a simple API.
  • High performance, due to the fact that it uses native interface elements.
  • Fast learning by the user, due to the simplicity of its API.

Synopsis

WARNING: This module is in its early stages and should be considered a Work in Progress. The interface is not final and may change in the future.

Sample GUI:

<p align="center"> <img src ="https://raw.github.com/ghostjat/php-iup/master/test/php-iup.png" alt ="php-iup"/> <img src ="https://raw.github.com/ghostjat/php-iup/master/test/cbox.png" alt ="cbox"/> <img src ="https://raw.github.com/ghostjat/php-iup/master/test/scintilla.png" alt ="Scintilla"/> <img src="https://raw.github.com/ghostjat/php-iup/master/test/menu.jpg" alt="Hello World IUP Application"/> </p>

Sample code:

require __DIR__.'/../vendor/autoload.php';
use iup\core;
$iup = new core();

$multiText = $iup->text(null);
$vbox = $iup->vbox($multiText);
$iup->setAttribute($multiText, "MULTILINE", "YES");
$iup->setAttribute($multiText, "EXPAND", "YES");
$dlg = $iup->dialog($vbox);
$iup->setAttribute($dlg, 'TITLE', 'php-iup');
$iup->setAttribute($dlg, 'SIZE', 'QUARTERxQUARTER');
$iup->showXY($dlg, $iup::IUP_CENTER, $iup::IUP_CENTER);
$iup->setAttribute($dlg, 'USERSIZE', null);
$iup->mainLoop();
$iup->close();

Author

Shubham Chaudhary <ghost.jat@gmail.com>

  Files folder image Files  
File Role Description
Files folder imageexamples (27 files)
Files folder imageFFI (1 file)
Files folder imagenbproject (2 files)
Files folder imagesrc (11 files)
Files folder imagetest (5 files)
Files folder imagevendor (1 file, 1 directory)
Plain text file composer.json Data Auxiliary data
Image file core.jpg Icon Icon image
Plain text file LICENSE Lic. License text
Image file logo_32x32.png Icon Icon image
Image file php.png Icon Icon image
Plain text file preload.php Aux. Auxiliary script
Plain text file README.md Doc. Read me
Plain text file test.php Example Example script
Plain text file trace.log Data Auxiliary data
Plain text file travis.yml Data Auxiliary data

  Files folder image Files  /  examples  
File Role Description
  Plain text file alarm.php Example Example script
  Plain text file backgroudbox.php Example Example script
  Plain text file button.php Example Example script
  Plain text file cell.php Example Example script
  Plain text file colorbrowser.php Example Example script
  Plain text file counter.php Class Class source
  Plain text file detach.php Example Example script
  Plain text file dialog_1.php Example Example script
  Plain text file dialog_2.php Example Example script
  Plain text file dialog_ballon.php Example Example script
  Plain text file gauge.php Example Example script
  Plain text file imageView.php Example Example script
  Plain text file LICENSE Lic. License text
  Plain text file license.php Class Class source
  Plain text file list.php Example Example script
  Plain text file matrix.php Example Example script
  Plain text file menu.php Example Example script
  Plain text file notepad.php Example Example script
  Plain text file pixmap.php Example Example script
  Plain text file scintilla.php Example Example script
  Plain text file scintillaDlg.php Example Example script
  Plain text file splite.php Example Example script
  Plain text file sqlite.php Example Example script
  Plain text file text.php Example Example script
  Plain text file timer.php Example Example script
  Plain text file tree.php Class Class source
  Plain text file webView.php Example Example script

  Files folder image Files  /  FFI  
File Role Description
  Plain text file FFI.php Class Class source

  Files folder image Files  /  nbproject  
File Role Description
  Plain text file project.properties Data Auxiliary data
  Plain text file project.xml Data Auxiliary data

  Files folder image Files  /  src  
File Role Description
  Plain text file cd.h Data Auxiliary data
  Plain text file controls.h Data Auxiliary data
  Plain text file im.h Data Auxiliary data
  Plain text file image.h Data Auxiliary data
  Plain text file iup.h Data Auxiliary data
  Plain text file iup.php Class Class source
  Plain text file iupcbs.h Data Auxiliary data
  Plain text file iupcd.h Data Auxiliary data
  Plain text file iupim.h Data Auxiliary data
  Plain text file scintilla.h Data Auxiliary data
  Plain text file webKit.h Data Auxiliary data

  Files folder image Files  /  test  
File Role Description
  Image file cbox.png Data Auxiliary data
  Image file menu.jpg Data Auxiliary data
  Image file notepad.jpg Icon Icon image
  Image file php-iup.png Data Auxiliary data
  Image file scintilla.png Data Auxiliary data

  Files folder image Files  /  vendor  
File Role Description
Files folder imagecomposer (7 files)
  Plain text file autoload.php Aux. Auxiliary script

  Files folder image Files  /  vendor  /  composer  
File Role Description
  Plain text file autoload_classmap.php Aux. Auxiliary script
  Plain text file autoload_namespaces.php Aux. Auxiliary script
  Plain text file autoload_psr4.php Aux. Auxiliary script
  Plain text file autoload_real.php Class Class source
  Plain text file autoload_static.php Class Class source
  Plain text file ClassLoader.php Class Class source
  Plain text file LICENSE Lic. License text

 Version Control Unique User Downloads Download Rankings  
 100%
Total:126
This week:1
All time:9,203
This week:197Up
For more information send a message to info at phpclasses dot org.