Fork me on GitHub

Hathoora (ہتھوڑا) is a high performance PHP framework with a very small footprint, built for developers who need to get the job done without tedious configurations and conventions.

Click here to read documentation.

Why Hathoora?

  • Easy to support and organize code for multiple websites/applications (cms, api, sub-projects, sub-domains etc).
  • Simple and complex routing without dealing with routing files or compromising webservers rewrites.
  • Freedom developing business model logic because you know what you are doing with raw SQL - no ORM, thank you.
  • Support for complex database setup - multiple masters, multiple slaves or sharding.
  • Database driven translation system because you need to make changes to content without deployments.
  • Powerful grid system for rapid common "admin" panel development tasks.
  • Ability to execute controller code from command line.
  • YAML based configurations so you can share between php and other scripts (in perl, python, bash etc).
Page Took:         5.23 msec
Page Memory:   482.48k
site / defaultController / index (200)
Request UUID: 57e89871bb0b74.78176098
Get
Post
Cookies
Files
Session
Server
Response
No data.
No data.
No data.
No data.
No data.
HATHOORA_ENV
prod
HTTP_HOST
hathoora.org
HTTP_X_FORWARDED_FOR
54.227.72.69
HTTP_X_REAL_IP
54.227.72.69
HTTP_CONNECTION
close
HTTP_ACCEPT_ENCODING
x-gzip, gzip, deflate
HTTP_USER_AGENT
CCBot/2.0 (http://commoncrawl.org/faq/)
HTTP_ACCEPT_LANGUAGE
en-us,en-gb,en;q=0.7,*;q=0.3
HTTP_ACCEPT
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
PATH
/sbin:/usr/sbin:/bin:/usr/bin
SERVER_SIGNATURE
Apache/2.2.15 (CentOS) Server at hathoora.org Port 80
SERVER_SOFTWARE
Apache/2.2.15 (CentOS)
SERVER_NAME
hathoora.org
SERVER_ADDR
192.168.1.11
SERVER_PORT
80
REMOTE_ADDR
207.126.164.119
DOCUMENT_ROOT
/var/websites/hathoora.org/docroot
SERVER_ADMIN
webmaster@hathoora.org
SCRIPT_FILENAME
/var/websites/hathoora.org/docroot/index.php
REMOTE_PORT
42188
GATEWAY_INTERFACE
CGI/1.1
SERVER_PROTOCOL
HTTP/1.0
REQUEST_METHOD
GET
QUERY_STRING
REQUEST_URI
/
SCRIPT_NAME
/index.php
PHP_SELF
/index.php
REQUEST_TIME_FLOAT
1474861169.765
REQUEST_TIME
1474861169
Status: 200
Headers:
Content-Type
text/html; charset=UTF-8
Configutation
Key Value
app.admin
Array
(
    [pattern] => /admin(|/)
    [directory] => hathoora
    [namespace] => hathoora\admin
)
app.docs
Array
(
    [pattern] => /docs(|/)
    [directory] => hathoora
    [dispatcher] => Array
        (
            [class] => customDispatcher
            [method] => dispatch
        )

)
app.site
Array
(
    [default] => 1
)
hathoora.logger
Array
(
    [profiling] => Array
        (
            [enabled] => 1
        )

    [logging] => Array
        (
            [enabled] => 1
            [level] => DEBUG
        )

    [webprofiler] => Array
        (
            [enabled] => 1
        )

)
hathoora.template
Array
(
    [engine] => Array
        (
            [name] => Stuob
        )

)
hathoora.database
Array
(
    [default] => mysql://dbuser:dbpassword@dbhost:3306/dbname
)
services.container
Array
(
    [class] => \hathoora\container
    [method] => getContainer
)
Logging (12)
hathoora.logger.logging.enabled: 1
# Time (msec) Level Memory (KB) Message
1 2.067 DEBUG 308.25 Configuration loaded:
Array
(
    [0] => app_prod.yml
    [1] => config_prod.yml
)
2 2.298 DEBUG 321.87 Listener "kernel.terminate[webprofiler]" has been added because of hathoora.logger.webprofiler.enabled
3 2.444 DEBUG 325.26 Event kernel.ready has been registered.
4 2.726 DEBUG 349.02 Event kernel.route has been registered.
5 2.827 DEBUG 358.17 Event kernel.controller has been registered.
6 2.872 DEBUG 359.09 Calling controller (\site\controller\defaultController::index) with following params
Array
(
)
7 3.550 INFO 433.04 Template (/var/websites/hathoora.org/app/hathoora/docs//resources/templates/components/htmlMeta.tpl.php) loaded
8 3.683 INFO 434.23 Template (/var/websites/hathoora.org/app/hathoora/docs//resources/templates/components/flashMessages.tpl.php) loaded
9 4.828 INFO 420.47 Template (index.tpl.php) fetched.
10 4.894 DEBUG 421.43 Event kernel.response has been registered.
11 4.937 DEBUG 422.62 Event kernel.terminate has been registered.
12 5.032 DEBUG 426.09 Event kernel.terminate->webprofiler has been notified.
Profiling
template
# Time (msec) Name Cached Took (msec)
1 2.978 index.tpl.php 0 1.723