Створення GUI додатків на PHP / Хабрахабр. Темою про розробку GUI додатків на PHP сьогодні, мабуть, вже нікого не здивуєш. Для цього існує не одне рішення, є як розвиваються проекти, так і померлі. Але цей пост буде не про тих і не про інших, а про нове розширення для PHP - бібліотеці PHPQt.
PQEngine. P. S. PHPQt. Передмова. По суті, PQEngine - це SAPI модуль, але позиціонується він як движок, який реалізує інтерфейс для виконання php- скриптів за допомогою Zend API і надає доступ до частини фреймворка Qt. Можна виділити основні з них: візуальні компоненти Qt (Widgets), компоновщики (Layouts), система з'єднань сигнал-> слот (connect ()), управління подіями (QEvents) і багатопоточність, що надається класом QThread. Створення проекту. Для спрощення створення і збірки проектів існує дуже проста у використанні утиліта - PQBuilder. Ця програма на 9.
Для компіляції консольних додатків я. Як Ви напевно вже здогадалися - при створенні віконних додатків штатними засобами PHP вже не обійтися, тому для початку потрібно.
PHP і демонструє скромні можливості движка PQEngine. Залежно від вибраного шаблону, збирач створить php- файл з базовим кодом, якого буде достатньо для запуску майбутнього програми, потім відкриє провідник Explorer в папці проекту, де ми побачимо всього два файли і одну папку: main. PQBuilder, в якому зберігатися деяка інформація про створений проект; build - каталог збірки проекту. Створений проект з шаблоном QWidget Application. Код який ми бачимо на скріншоті був скопійований з шаблону і при виконанні покаже порожню форму.
Як скомпілювати EXE Технологія компіляції Супутні файли Що Отже, для створення EXE нам знадобиться натиснути в менеджері проекту встановлюєте свій додаток, попутно розписуючи йому (замовнику) як. Пишете на тому ж С ++ додаток, яке при запуску відкриває свій власний exe-файл, знаходить кінець останньої секції.
Примітка 2. На момент написання цієї статті існувало 3 шаблони збірки проектів. Коротенько про кожного: Simple (app) - збірка простого додатка, без використання шифрування і упаковки. Основний PHP- файл проекту копіюється в робочу директорію програми, при цьому вихідний код PHP- файлу залишається відкритим. Simple + manifest (app- manifest) - збірка простого додатка з підключенням файлу Manifest. Про файл Manifest, для чого він потрібен і як його оформляти, можна почитати на сайті Microsoft.
Packed (packedapp) - найцікавіший метод збірки додатку, при якому основний PHP- файл зашифрована і упаковується в ресурси програми шляхом компіляції. Це дозволяє захистити вихідний код програми.
Великий мінус цього шаблону в тому, що він дозволяє упаковувати тільки файл main. Натиснувши на кнопку збірки проекту, PQBuilder запустить компілятор, робота якого триватиме від 1. Примітка 3. Якщо ж exe- файл не з'явився, це означає, що під час компіляції відбулися помилки.
Складальник не надає інформації про помилки компіляції, але вона доступна в log- файлі, який лежить в директорії на рівень вище: make. Як правило, повідомлення про помилку можна знайти в кінці файлу. Можливо вивчення цього балки допоможе вам визначити помилку і усунути її.
Інші файли в директорії проекту - це тимчасові файли створені компілятором, їх можна сміливо видалити. Розробка програми. Примітка 4. Завдяки тому, що всі зареєстровані в движку PQEngine класи реалізують інтерфейси стандартних класів Qt, движок, теоретично, здатний проковтнути частина прикладів з офіційної документації Qt, досить лише прибрати типи змінних і підписати до них знак $. Але тим не менш, деякі функції залишаються недоступними, або відрізняються набором і типами вхідних і вихідних значень. Подивитися повний список методів того чи іншого класу можна в заголовних файлах PQEngine, знаходяться вони в директорії з встановленим збирачем:% шлях. Відкриваємо файл build \ app \ release \ main.
Components () і приступаємо: Для початку створимо і встановимо компоновщик для нашої форми. Примітка 5. PQEngine надає три види компоновки: QVBox.
Layout - вертикальне розташування віджетів; QHBox. Layout - горизонтальне розташування віджетів; QGrid. Layout - розташування віджетів в сітці. Components (). Як батька встановлюємо нашу форму. Встановлюємо текст кнопки. Це можна зробити як через властивість text. Text (). * См. Примітка 4.
Показати повідомлення '. Об'єкти підтримують анонімні функції для установки подій. Я вибрав з'єднання з функцією php. Детальніше можна почитати в документації до PHPQt. SIGNAL ( 'clicked (bool)'), $ this, SLOT ( 'quit. Button. Clicked (bool)')).
Будьте уважні і обережні! Не забувайте, що всі зміни ми виробляли в директорії із зібраним проектом, тому якщо в PQBuilder'e ви знову зберете цей проект, весь код буде затертий! P. S. Такий фокус не пройшов би, якби ми збирали додаток з шаблоном.