Pi Highlights

Pi feature

Pi Engine is a role oriented application development engine for web and mobile, designed as the next generation and a successor to Xoops. Pi is developed upon PHP and MySQL with selected third-party frameworks including but not limited to Zend Framework library, jQuery, Bootstrap and Backbone.

Pi Project follows the philosophy of open standard, open design, open development and open structure. Pi is born as a complete open source project and intended to build a sustainable ecosystem that benefits all contributors and users.

The Engine is released under a BSD 3-Clause License.

Selected features and practices:
  1. Modularization for functionality and applications
  2. Components for basic libraries and services for fundamental system functions
  3. Theming for presentation and appearance
  4. Design-friendly templating
  5. DevOps oriented architecture
  6. Centralized security enhancement
Quick start:

Login

log(37) | debug(0) | profiler(9) | db(6) | system(14) | all
log
08:29:56.2554
[info]
Service "Log" is loaded
08:29:56.2797
[info]
Service "Security" is loaded
08:29:56.2816
[info]
Resource "security" is booted
08:29:56.2823
[info]
Service "Database" is loaded
08:29:56.298
[info]
Resource "database" is booted
08:29:56.299
[info]
Service "Registry" is loaded
08:29:56.3014
[info]
Service "Cache" is loaded
08:29:56.3195
[info]
Resource "config" is booted
08:29:56.3269
[info]
Service "Module" is loaded
08:29:56.3288
[info]
Resource "router" is booted
08:29:56.3305
[info]
Service "I18n" is loaded
08:29:56.3352
[info]
Resource "i18n" is booted
08:29:56.3358
[info]
Resource "module" is booted
08:29:56.3365
[info]
Resource "modules" is booted
08:29:56.3373
[info]
Service "Session" is loaded
08:29:56.3654
[info]
Resource "session" is booted
08:29:56.3661
[info]
Service "Authentication" is loaded
08:29:56.3686
[info]
Service "User" is loaded
08:29:56.3702
[info]
Service "Api" is loaded
08:29:56.3731
[info]
Resource "authentication" is booted
08:29:56.3735
[info]
Resource "permission" is booted
08:29:56.3744
[info]
Resource "render_cache" is booted
08:29:56.4009
[info]
Service "Asset" is loaded
08:29:56.4014
[info]
Service "Theme" is loaded
08:29:56.4036
[info]
Translation "module/system:default.en" is loaded.
08:29:56.4084
[info]
Service "Permission" is loaded
08:29:56.4097
[info]
Service "RenderCache" is loaded
08:29:56.4133
[info]
Translation "theme/default:default.en" is loaded.
08:29:56.4729
[info]
Translation "module/system:block.en" is loaded.
08:29:56.4975
[info]
Translation "module/system:block.en" is loaded.
08:29:56.5085
[info]
Service "Form" is loaded
08:29:56.5107
[info]
Service "Url" is loaded
08:29:56.5358
[info]
Translation "module/system:block.en" is loaded.
08:29:56.5434
[info]
Translation "module/system:block.en" is loaded.
08:29:56.5457
[info]
Translation "module/system:block.en" is loaded.
08:29:56.5553
[info]
Route: front:system-index-index.
08:29:56.5582
[info]
Service "Observer" is loaded
debug
profiler
08:29:56.2551
PI - time: 0.3038; realmem: 10485760; emalloc: 9950008
08:29:56.41
ACTIION - time: 0.0008; realmem: 0; emalloc: 28760
08:29:56.4307
BLOCKS - time: 0.1053; realmem: 2097152; emalloc: 1080016
08:29:56.4336
BLOCK: Pi Highlights - time: 0.0144; realmem: 0; emalloc: 45392
08:29:56.4725
BLOCK: Pi feature - time: 0.0014; realmem: 0; emalloc: 61200
08:29:56.4974
BLOCK: Login - time: 0.0140; realmem: 2097152; emalloc: 495504
08:29:56.5358
BLOCK: User - time: 0.0002; realmem: 0; emalloc: 1576
08:29:56.5402
menu - time: 0.0022; realmem: 0; emalloc: 15088
08:29:56.5434
BLOCK: User bar - time: 0.0006; realmem: 0; emalloc: 3168
db
08:29:56.3634
[0.0010]
query: SELECT `core_session`.* FROM `core_session` WHERE `id` = :where1
params: [:where1] 1f4d7ee3eae8320c6934a5d873917ded;
08:29:56.4325
[0.0004]
query: SELECT `core_block`.`id` AS `id`, `core_block`.`root` AS `root`, `core_block`.`name` AS `name`, `core_block`.`title` AS `title`, `core_block`.`description` AS `description`, `core_block`.`module` AS `module`, `core_block`.`template` AS `template`, `core_block`.`render` AS `render`, `core_block`.`config` AS `config`, `core_block`.`type` AS `type`, `core_block`.`content` AS `content`, `core_block`.`cache_ttl` AS `cache_ttl`, `core_block`.`cache_level` AS `cache_level`, `core_block`.`title_hidden` AS `title_hidden`, `core_block`.`body_fullsize` AS `body_fullsize`, `core_block`.`active` AS `active`, `core_block`.`cloned` AS `cloned`, `core_block`.`class` AS `class`, `core_block`.`subline` AS `subline` FROM `core_block` WHERE `id` IN (:where1, :where2, :where3, :where4)
params: [:where1] 6;[:where2] 5;[:where3] 2;[:where4] 3;
08:29:56.5428
[0.0004]
query: SELECT `core_block`.`id` AS `id`, `core_block`.`root` AS `root`, `core_block`.`name` AS `name`, `core_block`.`title` AS `title`, `core_block`.`description` AS `description`, `core_block`.`module` AS `module`, `core_block`.`template` AS `template`, `core_block`.`render` AS `render`, `core_block`.`config` AS `config`, `core_block`.`type` AS `type`, `core_block`.`content` AS `content`, `core_block`.`cache_ttl` AS `cache_ttl`, `core_block`.`cache_level` AS `cache_level`, `core_block`.`title_hidden` AS `title_hidden`, `core_block`.`body_fullsize` AS `body_fullsize`, `core_block`.`active` AS `active`, `core_block`.`cloned` AS `cloned`, `core_block`.`class` AS `class`, `core_block`.`subline` AS `subline` FROM `core_block` WHERE `name` = :where1
params: [:where1] system-user-bar;
08:29:56.5464
[0.0002]
query: SELECT `core_block`.`id` AS `id`, `core_block`.`root` AS `root`, `core_block`.`name` AS `name`, `core_block`.`title` AS `title`, `core_block`.`description` AS `description`, `core_block`.`module` AS `module`, `core_block`.`template` AS `template`, `core_block`.`render` AS `render`, `core_block`.`config` AS `config`, `core_block`.`type` AS `type`, `core_block`.`content` AS `content`, `core_block`.`cache_ttl` AS `cache_ttl`, `core_block`.`cache_level` AS `cache_level`, `core_block`.`title_hidden` AS `title_hidden`, `core_block`.`body_fullsize` AS `body_fullsize`, `core_block`.`active` AS `active`, `core_block`.`cloned` AS `cloned`, `core_block`.`class` AS `class`, `core_block`.`subline` AS `subline` FROM `core_block` WHERE `name` = :where1
params: [:where1] search-search;
08:29:56.5559
[0.0002]
query: SELECT `core_session`.* FROM `core_session` WHERE `id` = :where1
params: [:where1] 1f4d7ee3eae8320c6934a5d873917ded;
08:29:56.5568
[0.0007]
query: INSERT INTO `core_session` (`modified`, `data`, `id`, `lifetime`) VALUES (:c_0, :c_1, :c_2, :c_3)
params: [:c_0] 1623763796;[:c_1] __Laminas|a:3:{s:20:"_REQUEST_ACCESS_TIME";d:1623763796.365066051483154296875;s:6:"_VALID";a:2:{s:39:"Laminas\Session\Validator\HttpUserAgent";s:40:"CCBot/2.0 (https://commoncrawl.org/faq/)";s:28:"Laminas\Session\Validator\Id";s:32:"1f4d7ee3eae8320c6934a5d873917ded";}s:36:"Laminas_Validator_Csrf_salt_security";a:1:{s:6:"EXPIRE";i:1623764096;}}PI_USER|a:2:{s:5:"field";a:3:{s:2:"id";i:0;s:8:"identity";s:0:"";s:4:"name";s:5:"Guest";}s:4:"time";i:1623764096;}Laminas_Validator_Csrf_salt_security|C:26:"Laminas\Stdlib\ArrayObject":391:{a:4:{s:7:"storage";a:2:{s:9:"tokenList";a:1:{s:32:"0623b2d9d755564a2e3e6666738c4e63";s:32:"cbe11d43aa5efd95eef4c541d9fed15b";}s:4:"hash";s:65:"cbe11d43aa5efd95eef4c541d9fed15b-0623b2d9d755564a2e3e6666738c4e63";}s:4:"flag";i:2;s:13:"iteratorClass";s:13:"ArrayIterator";s:19:"protectedProperties";a:4:{i:0;s:7:"storage";i:1;s:4:"flag";i:2;s:13:"iteratorClass";i:3;s:19:"protectedProperties";}}}FlashMessenger|C:26:"Laminas\Stdlib\ArrayObject":205:{a:4:{s:7:"storage";a:0:{}s:4:"flag";i:2;s:13:"iteratorClass";s:13:"ArrayIterator";s:19:"protectedProperties";a:4:{i:0;s:7:"storage";i:1;s:4:"flag";i:2;s:13:"iteratorClass";i:3;s:19:"protectedProperties";}}};[:c_2] 1f4d7ee3eae8320c6934a5d873917ded;[:c_3] 1440;
system
Execution time
0.3248 s
Included files
545 files
Memory usage
11586384; peak: 11594744 bytes
OS
Linux
Web Server
LiteSpeed
PHP Version
7.2.34
MySQL Version
Server: 5.7.34-log-cll-lve; Client: 5.7.34
Pi Version
2.8.0
Pi Environment
development
Persist Engine
memcached
Cache Storage
Laminas\Cache\Storage\Adapter\Filesystem
Module
system
Theme
default
Extensions
Intl; cURL