Creating Scalable Vector Graphs with PHP
Vikram Vaswani |
1 comment |
Friday, March 5, 2010
The Scalable Vector Graphics (SVG) specification provides a way to programmatically generate images using vector paths expressed in XML. This makes it ideal for generating images that need to be scaled to different resolutions without losing fidelity. A common requirement in Web applications is to dynamically generate charts and graphs from numerical data. If these graphs are expressed using SVG, they can be blown up to different sizes without any deterioration in quality, and they are also typically smaller in size as compared to their GIF or JPEG counterparts. With this in mind, this article examines various open source PHP libraries that allow you to add SVG charting capabilities to your PHP application.
[…]
Integrating Flickr Photostreams with PHP using the Zend Framework
Vikram Vaswani |
0 comments |
Thursday, February 4, 2010
Like most people with a digital camera, I tend to be a heavy Flickr user. Not only does Flickr make it easy to share my ever-growing photo collection with colleagues and family, but its drag-and-drop photo organizer and geo-tagging features make it easy to quickly categorize and find pictures from, say, my 2003 holiday in Goa. The really good stuff, though, is hidden behind the scenes. Like many Web 2.0 applications, Flickr exposes its data to the public via a REST API, making it possible to develop customized applications that run on top of the base service. This REST API allows access to a number of important functions, including photo searching, tagging and uploading; photoset retrieval; contact retrieval; and panda recommendations. It’s also pretty easy to integrate this REST API into a PHP application – and this article will show you how!
[…]
Paging and Sorting Data with Zend Framework, Doctrine and PEAR (part 2)
Vikram Vaswani |
4 comments |
Wednesday, December 30, 2009
In the previous segment of this article, I introduced you to the Zend_Paginator class, which provides a flexible API for paginating any data collection, whether it is expressed as an array or a database result set. However, Zend_Paginator isn’t the only game in town. There are a number of other open-source PHP pagination widgets, which can be used as an alternative to Zend_Paginator.
[…]
Paging and Sorting Data with Zend Framework, Doctrine and PEAR (part 1)
Vikram Vaswani |
4 comments |
Thursday, December 10, 2009
This article will introduce you to one component that helps you solve the problem of presenting large data sets in a manageable fashion, Zend_Paginator, which is a part of the Zend Framework. However, open source is all about choice and so, a followup article will also discuss two other popular components, PEAR Pager and Doctrine Pager. Come on in, and let’s get started.
[…]
Indexing Web Content with PHP and SWISH-E
Vikram Vaswani |
1 comment |
Tuesday, November 17, 2009
In a previous article, I'd demonstrated how to build a simple email search system in PHP using two indexing tools, Sphinx and the Zend Framework's Lucene implementation. Now, while these are undoubtedly two of the most popular tools available, open source is all about choice...and so, it should come as no surprise that there exist a number of alternatives, many of them equaling Sphinx and Zend_Lucene in sophistication and speed. This article deals with one such alternative, SWISH-E aka the Simple Web Indexing System for Humans - Enhanced. As the name suggests, SWISH-E is particularly good at indexing Web content, be it in text, HTML, XML, PDF or DOC format. If you're trying to add a full-text search engine to your Web site, but don't really want to spend too much time on configuration and data processing, this might just be the thing you're looking for. Come on in, and find out more!
[…]
Manipulating Images with PHP and GraphicsMagick
Vikram Vaswani |
6 comments |
Monday, September 28, 2009
Like most developers, I've known for a while that PHP comes with GD support for basic image generation and processing tasks, and I've even used it on occasion to dynamically create images. However, what I didn't know was that, hidden in PECL, is an extension to the GraphicsMagick library, which allows for all kinds of sophisticated image operations and effects. In this article, I'll introduce you to ext/gmagick, showing you some of the cool things it can do for you (and your images).
[…]
Creating Modular Template-Based Interfaces with Savant
Vikram Vaswani |
3 comments |
Wednesday, September 9, 2009
It's generally considered a good idea to separate the functional business logic of a Web application from its user interface. And a good template engine helps you achieve this separation with minimal fuss and muss. This article introduces Savant, a lightweight, OOP-compliant template engine with some unique features that offers an effective solution to the problem of controller-view separation.
[…]
Accepting Credit Card Payments with OXID eShop CE and AlertPay
Vikram Vaswani |
0 comments |
Monday, August 24, 2009
OXID eShop CE is a modular, standards-compliant shopping cart system that can be modified to work with any payment gateway. This article follows up on a previous tutorial, explaining how to extend the OXID base classes and get them working with a redirection-based payment gateway named AlertPay.
[…]
Indexing Email Messages with PHP, Zend Lucene and Sphinx
Vikram Vaswani |
4 comments |
Wednesday, August 19, 2009
The Zend Framework provides an implementation of the Lucene search engine that can be used for full-text search. And there's also Sphinx, the standalone (and very fast) full-text indexer for MySQL, PostgreSQL and XML content. This article looks at these two implementations, comparing and contrasting them and illustrating how they can be used to add full-text search to an application.
[…]
Getting Started with Drizzle and PHP
Vikram Vaswani |
5 comments |
Thursday, July 9, 2009
Drizzle is a new, lightweight fork of MySQL specifically designed for cloud applications. Although Drizzle is still under development, it's attracting a lot of attention from developers around the world. This article introduces you to Drizzle and shows you how to use the Drizzle PHP extension to perform queries, retrieve result sets and handle errors in your Drizzle+PHP application.
[…]

