/kirby

a stripped down and easy to use toolkit for PHP

Primary LanguagePHP

Kirby Toolkit

Welcome to Kirby – a stripped down and easy to use toolkit for PHP. It's by no means a full featured mvc/wtf framework, it's more like jQuery or Mootools for PHP. Kirby is there to make nerdy things a little less nerdy.

Kirby is completely free to use as long as you put a link to my page in your code somewhere. Please read the docs to learn more about it, follow Kirby on Twitter and download the latest version to get started.

Features

  • Database Handling (MySQL)
  • Loads of string and array helpers
  • File and directory handling
  • Session and Cookie helpers
  • Browser detection
  • Easy language support
  • Easy request handling
  • Validation
  • Easy app configuration

Here are two tiny examples to give you a better idea what Kirby does

Easy database handling

<?php
  
require_once('kirby.php');
  
// setup the database
c::set('db.host', 'localhost');
c::set('db.user', 'root');
c::set('db.password', 'password');
c::set('db.name', 'database');
  
// select all users from an imaginary user table
$users = db::select('users', '*');
  
// build a list of encoded email addresses
// with a fallback for users without an email address
foreach($users AS $user) {
    echo str::email( a::get($user, 'email', 'no email') );
} 
  
?>

Handling requests and validation

<?php

require_once('kirby.php');

if(get('submit')) {

    $email = get('email');

    if(!v::email($email)) {
        echo 'That is not a valid email address';
    } else {
        db::insert('newsletter', array('email' => $email));
        go('/success');
    }

}

?>
<form>
  <input type="text" name="email" />
  <input type="submit" name="submit" value="Subscribe" />
</form>

Requirements

Kirby likes PHP 5, Apache on unix systems and MySQL. Everything else is not supported.

Feedback

Please let me know if you like Kirby or you hate Kirby or whatever: bastian.allgeier@gmail.com