vitexsoftware / ease-framework
An PHP Framework for Ease of writing Applications
Installs: 22 475
Dependents: 4
Suggesters: 0
Security: 0
Stars: 6
Watchers: 3
Forks: 2
Open Issues: 0
Requires
- php: >=5.6
- ext-pdo: *
- pear/mail: *
- pear/mail_mime: *
Requires (Dev)
README
EasePHP Framework
Object oriented PHP Framework for easy&fast writing small/middle sized apps.
Installation
Download https://github.com/VitexSoftware/EaseFramework/archive/master.zip or use
Composer:
composer require vitexsoftware/ease-framework
Linux
For Debian, Ubuntu & friends please use repo:
wget -O - http://v.s.cz/info@vitexsoftware.cz.gpg.key|sudo apt-key add -
echo deb http://v.s.cz/ stable main | sudo tee /etc/apt/sources.list.d/vitexsoftware.list
sudo apt update
sudo apt install ease-framework
In this case please add this to your app composer.json:
"require": { "ease-framework": "*" }, "repositories": [ { "type": "path", "url": "/usr/share/php/Ease", "options": { "symlink": true } } ]
Docker:
To get Docker image:
docker pull vitexsoftware/easephpframework
Framework Constants
- EASE_APPNAME - common name of application. Mainly used in logs.
- EASE_LOGGER - one of memory,console,file,syslog,email,std,eventlog or combination "console|syslog"
- EASE_EMAILTO - recipient for Ease/Logger/ToMail
- EASE_SMTP - Custom SMTP Settings (JSON Encoded)
- DB_TYPE - pgsql|mysql|sqlite|...
- DB_HOST - localhost is default
- DB_PORT - database port
- DB_DATABASE - database schema name
- DB_USERNAME - database user login name
- DB_PASSWORD - database user password
- DB_SETUP - database setup command (executed directly after connect)
Example
Twitter Bootstrap page with simple Form
$oPage = new \Ease\TWB\WebPage('Page title'); $form = $oPage->addItem( new \Ease\TWB\Form('ExampleForm') ); $form->addItem(new \Ease\Html\InputTextTag('Name')); $form->addItem(new \Ease\TWB\SubmitButton('OK', 'success') ); $oPage->draw();
Logging
You can use any combination of this logging modules:
- memory - log to array in memory
- console - log to ansi sequence capable console
- file - log to specified file
- syslog - log to linux syslog service
- email - send all messages to constant('EASE_EMAILTO') at end
- std - write messages to stdout/stderr
- eventlog - log to Windows eventlog
define('EASE_LOGGER', 'console|syslog'); $logger = new \Ease\Sand(); $logger->addStatusMessage('Error Message', 'error');
Testing
At first you need initialise create sql user & database with login and password from testing/phinx.yml and initialise testing database by phinx migrate command:
composer update
cd tests
mysqladmin -u root -p create easetest
mysql -u root -p -e "GRANT ALL PRIVILEGES ON easetest.* TO easetest@localhost IDENTIFIED BY 'easetest'"
sudo -u postgres bash -c "psql -c \"CREATE USER easetest WITH PASSWORD 'easetest';\""
sudo -u postgres bash -c "psql -c \"create database easetest with owner easetest encoding='utf8' template template0;\""
../vendor/bin/phinx migrate -e development
../vendor/bin/phinx migrate -e testing
Building
Simply run make deb
Links
Homepage: https://www.vitexsoftware.cz/ease.php
GitHub: https://github.com/VitexSoftware/EaseFramework
Apigen Docs: https://www.vitexsoftware.cz/ease-framework/
Modular & Lightweight successor library: https://github.com/VitexSoftware/ease-core