Sunday, April 30, 2006

Google Maps

The Google Maps API supports the same browsers as the Google Local site. Since different applications require different behaviors for users with incompatible browsers, the Maps API provides a global method (GBrowserIsCompatible()) to check compatibility, but it does not have any automatic behavior when it detects an incompatible browser. The script can be parsed in almost every browser without errors, so you can safely include that script before checking for compatibility.


Openomy PHP API

Openomy is an online file system. You can store files on Openomy and access them from any computer. Openomy organizes files and users via tags (as opposed to folders). You can choose to keep your files guarded by Openomy, or allow certain outside applications (of your choice) to do new and interesting things with your data.

Openomy PHP API

Friday, April 28, 2006


Welcome back to the third edition of "a week in phpworld" - my subjective view at the highlights that happened last week in the phpworld.

PHP's World

Ilia Alshanetsky finally released the third Release Candidate for PHP 5.1.3 on friday. Somehow confusing to me, that one can't find the fix of the security-holes that lead to the "unofficial" RC3 i reported about last week in the ChangeLog of RC3. Instead you find them in the ChangeLog of RC2 - a RC that was actually released at end of march but now is timed to 6th of april. Confused now, too? However, Ilia asked the community once more to test the RC3 as much as possible - looking to release a final version of PHP 5.1.3 this week thursday. You can find the source download as usual at Ilias and the binaries for windows at Edin's
Some other good news come from : Scott Mattocks announced a Release plan for PHP-GTK 2-alpha1 in the weekly PHP-GTK News. According to this plan, there are only three main-issues left preventing an immediately release. First there is a review for some patches needed , next some windows-bugs has to be fixed and last there is a need for update of the packaging script.


Wednesday, April 26, 2006

Flash Lite 2

Flash Lite 2 Performance is important to consider application performance and optimization from the beginning of each project for creating Flash Lite content for mobile phones.


PHP Hosting

Free PHP Hosting

Tuesday, April 25, 2006

Introduction to PHP Objects, Part 1

I'll be introducing one of the more interesting and useful methods of writing PHP scripts -- the object-oriented method. Those of you who might have experience with an object-oriented programming language such as Java or even C++ will find themselves right at home with most of the concepts I'll begin outlining here. However, be warned -- PHP objects have a mixture of C++ and Java, making them a little different than what you might be used to. In any case, let's get started with the basics.

Introduction to PHP Objects, Part 1

Object Oriented PHP: Paging Result Sets

If as a PHP developer you find yourself writing the same code again and again, or dealing with an increasingly stifling array of custom functions and include files in your script, it's probably time you looked into Object Oriented Programming (OOP). OOP has truly come into its own over the past 5 years or so. The world over, application and Web developers alike have discovered the merits of this type of software design, and now it's your turn!

In this article, I'll teach you the basic principles and features of Object Oriented Programming that exist in the PHP language, and take you through a few simple examples so you can see how it all works. We'll then take this newfound knowledge and apply it to a practical problem. Together, we'll create a reusable component that will handle the splitting of MySQL result sets into pages.

Object Oriented PHP

Thursday, April 20, 2006

PHP Performance: lighttpd vs apache

PHP Performance

lighttpd + fastcgi is more than 25% faster than apache + mod_php4.
For static files we already know that lighttpd is 4-6 times faster.

whenpenguinsattack: lighttpd vs apache

Sunday, April 16, 2006

A Quickstart to using PEAR with PHP for database driven web applications - Codepoets - David and Katherine Goodwin

intro:This article shows how to use the PEAR DB package for database abstraction and querying.subject:pear, php, database, mysql, postgresqlcontent:What is PEAR::DB?PEAR::DB, provides a uniform, cross platform, cross database method for connecting to databases, when writing PHP applications/scripts.Extensive documentation can be found online hereThis article aims to show briefly, how queries and updates can be performed when using PEAR DB.What's wrong with the traditional PHP method(s)? * Inconsistent API - mysql_connect, pg_connect etc * Different APIs have different methods of connecting to a database * Inconsistent methods for retrieving data and/or performing updates (pg_exec, pg_query, mysql_query etc) * Difficult to port code between databases * Not all APIs support all features (E.g. prepared statements) * Inconsistent error handling (mysql_error(), pg_last_error()) * Secure/safe queries require effort (pg_escape_string(), mysql_real_escape_string(), addslashes(), magic_quotes_gpc())


Wednesday, April 12, 2006

Ajax Frameworks, Tools and Libraries with PHP

Xajax - PHP Class Library

What Xajax is:

‘xajax is an open source PHP class library that allows you to easily create powerful, web-based, Ajax applications using HTML, CSS, JavaScript, and PHP. Applications developed with xajax can asynchronously call server-side PHP functions and update content without reloading the page.’

How it works:

‘The xajax PHP object generates JavaScript wrapper functions for the PHP functions you want to be able to call asynchronously from your application. When called, these wrapper functions use JavaScript’s XMLHttpRequest object to asynchronously communicate with the xajax object on the server which calls the corresponding PHP functions. Upon completion, an xajax XML response is returned from the PHP functions, which xajax passes back to the application. The XML response contains instructions and data that are parsed by xajax’s JavaScript message pump and used to update the content of your application.’

Find out more about Xajax at the XajaxProject website - or visit their sourceforce project page

Sajax - Tool

What Sajax is:

‘Sajax is a tool to make programming websites using the Ajax framework — also known as XMLHTTPRequest or remote scripting — as easy as possible. Sajax makes it easy to call ASP, Cold Fusion, Io, Lua, Perl, PHP, Python or Ruby functions from your webpages via JavaScript without performing a browser refresh. The toolkit does 99% of the work for you so you have no excuse to not use it.’

How it works:

‘Our toolkit creates a JavaScript stub function that calls functions you export from your script. It handles all the connection details and calls a callback function of your design when the data is available.’

Find out more about Sajax at the ModernMethods

Ajax HTML from PEAR - Libraries

This is a PHP and JavaScript package available through the official PEAR website. For simple examples tutorials, visit the package authors website. To download this package, visit the HTML_AJAX Package page on PEAR.

XOAD - PHP Based Ajax Framework (formerly known as NAJAX)

‘XOAD is a PHP based AJAX/XAP object oriented framework that allows you to create richer web applications.

XOAD has many benefits:

it uses JSON and native PHP serialized objects to communicate,
special attention has been paid to security,
supports server side events (observation),
client side events (XOAD Events),
server and client extensions,
HTML manipulation (extension),
Caching (extension).’

Find out more about XOAD at the XOAD
Wiki website.

AjaxAC - PHP Based Ajax Framework

‘AjaxAC is an open-source framework written in PHP, used to develop/create/generate AJAX applications. The fundamental idea behind AJAX (Asynchronous JavaScript And XML) is to use the XMLHttpRequest object to change a web page state using background HTTP sub-requests without reloading the entire page. It is released under the terms of the Apache License v2.0.’

‘The basic idea behind AjaxAC is that you create an AjaxAC application, which in itself contains a number of action handlers and event handlers. An application in this context might mean an entire web site powered by AJAX, or it could mean a subset of a form (such as the CountryRegionCityJax example, which could be a small part of a signup form, for example).’

Find out more about the AjaxAC Framework

CPAINT - Ajax Toolkit (Cross-Platform Asynchronous INterface Toolkit)

What CPAINT is?

‘CPAINT (Cross-Platform Asynchronous INterface Toolkit) is a multi-language toolkit that helps web developers design and implement AJAX web applications with ease and flexibility. It was originally born out of the author’s frustration and disappointment with other open-source AJAX toolkits. It is built on the same principles of AJAX, utilizing JavaScript and the XMLHTTP object on the client-side and the appropriate scripting language on the server-side to complete the full circle of data passing from client to server and back.’

Some Features:

‘Flexibility - built for small and enterprise applications
100% OOP approach
Supports multiple scripting languages (ASP & PHP)
Unified JavaScript file for all functions
Supports both Remote Scripting and XML
Supports both local & remote functions
Single or multiple XMLHTTP objects
Returns backend data as text or as a JavaScript XML/DOM document object
Can support both POST & GET requests
Backend proxy functions for accessing remote functions and data
Tested with all major browsers
Distributed under the GNU GPL & LGPL ‘

Find out more at the CPAINT website or visit their SourceForge Project page.

Sunday, April 09, 2006

Google Adsense

Google Adsense

Linux Documentation Bookmarks

Linux Documentation - little collection of the docs,tutorials and howtos related to Linux/Unix programming, system administration and web development.


PHP: Installation on Unix systems - Manual

PHP test installation


Creating sortable lists with PHP and AJAX

You might have been in a situation before where you had a list of items in your database that needed to be output in a specific order. These items could be anything: perhaps a listing of your favourite movies or your favourite books. For whatever reason, you want them ordered in a custom way that can’t be determined automatically (such as alphabetical).

This article covers the implementation of a system that lets you easily define the order of such a list.