Pointy
I do web development for a living. Almost two years ago I made the switch from being almost exclusively Microsoft and .NET to open source and along the way had to learn PHP (and a bit of Python for a while there too).
I’ve played around with many different web frameworks and been frustrated that they often force you to learn an alternative to SQL and/or some kind of restrictive templating language as well as the fact that most of them are too cumbersome for the types of sites that I’m generally required to produce.
So, for the last six months or so I’ve been refining my own MVC web development framework with the goal of keeping it lightweight, high performance and only using standard PHP and SQL where needed. And most of all, open source.
I present my baby, Pointy (the tiny but sharp development framework), which I’ve made available under a Creative Commons license. If you’re a PHP developer and you want to dabble with Pointy, please feel free to pay a visit, download it, play with it and if you find it useful go ahead and use it. I hope it’s as useful to you as it has been to me.
Tags: mvc, Open Source, php, pointy, web development

Cool; I’m learning PHP at the moment so I’m interested to try it out. Nice work.
Brilliant, good man. I did web development a few years back in my CompSci days, but unfortunately I’m feeling a little too rusty now to truly appreciate Pointy the way it deserves.
However, I *am* mightily impressed by the layout and presentation of Nice.co.nz
Is Nice.co.nz your own business, or are you “working for The Man”?
I have some people running their own business who have been asking me about getting some website work done for them (but I was thinking about declining), perhaps you would like to be put together and possibly give them an estimate?
You could always email me if you might be interested, I have put my address in the details.
I can’t wait to have a look!! (I’ll have to wait for a chance to come up for air myself – I’m working 10-hour days + weekends to finish up the current workload). Will Pointy include support for stored-proc calls or possibly OR mapping to stored-procs?
Bnonn, thanks and I apologise in advance for the lack of documentation.
Iain, yes, nice.co.nz is my business. Only me in it though. I have a bunch of other designers and developers I work with on various jobs.
A3, I hear ya re the hours! Pointy doesn’t currently automatically handle stored procs. It’s something I’ve really struggled to get working in PHP. At the moment it only does simple MySQL queries.
I’ve worked with stored procs a bit with MSSQL but am of two minds as to whether I actually agree with the concept of moving too much application logic across to the DB. Having difficulty with PHP and stored procs had only made it easier for me to ignore the problem and only use the DB for storage.
How do you handle them?
Here’s what I use. The config file just has username, password, etc.
(feel free to either leave this post up or remove it once you see the code)
<?php
include_once(’../config.php’);
class modelBase {
public $procName;
private $params;
public function addInputParam($value) {
$this->params[] = $value;
}
public function select() {
global $db_user;
global $db_server;
global $db_password;
global $db_name;
$paramList = ”;
foreach ($this->params as $paramValue) {
$paramList .= "$delimeter’$paramValue’";
$delimeter = ‘,’;
}
$call = "call $db_name.$this->procName($paramList)";
$mysqli = new mysqli($db_server, $db_user, $db_password, $db_name);
$mysqlresult = $mysqli->query($call);
while ($mysqlrow = $mysqlresult->fetch_row()) {
$mysqldata[] = $mysqlrow;
}
return $mysqldata;
}
}
?>
Ah, yes, this is pretty much the same as what I’m using with the exception that I’m feeding in the ability to “CALL…” or “SELECT…”. So, in theory, it should work provided you format the query correctly. I must play around with this at some stage.
Cheers!
well done – impressive – way over my head – but yeah…
Version 9.0213 is now available. I’ve added the ability to connect directly to web services as an alternative datasource as well as the ability to override the connection string for all data functions. In the next month I’ll be adding functionality to connect to MSSQL as well (a requirement for a customer who is using Pointy).