PHP - MYSQL - LAMP stuff

Four short links: 15 March 2010 - Digital Libraries, Story Analysis, Scriptable Google Apps, Forensic Rooting

O'Reilly ONLamp - Mon, 2010-03-15 18:25
There's a Rootkit in the Closet -- lovely explanation of finding and isolating a rootkit, reconstructing how it got there and deconstructing the rootkit to figure out what it did. It's a detective story, no less exciting than when Cliff Stohl wrote The Cuckoo's Egg. This and more in today's Four Short Links.

Working with Reflected Properties with the Reflection API

Dev Shed Articles - Mon, 2010-03-15 13:00
In this fourth part of a seven-part series, I demonstrate how to use the PHP reflection API to retrieve useful information about the properties declared by a specific class. Reflection allows you to do more with properties of a class than determine their visibility or learn the values assigned to them, but that's what we'll be covering here.
- In case youre not aware of it, among the many enhancements and helpful features that were added to PHP 5, theres one that has been unfairly overlooked by many developers. This might be because at first glance it doesn't seem to be as useful as the others. Yes, as this articles title suggests, Im t...

Zend Framework MVC Request Lifecycle

Zend feed for PHP news & articles - Mon, 2010-03-15 12:35
Matthew wrote up an article on modules in Zend_Application and that got me thinking a little bit. When I have done training for Zend Framework, one of the things that mystifies students to some extent is the whole plugin architecture and where things can go. There has been several articles written about it, but they tend to use code to describe it. I was only able to find a small handfull of articles that used some kind of chart to describe what goes on. Not that that's a problem, but I had found that when I drew out the request lifecycle that it helped the students understand it better.

Pablo Viquez's Blog: Zend Framework Documentation

Zend feed for PHP news & articles - Mon, 2010-03-15 11:23
Pablo Viquez has put together something that all of the Windows-based Zend Framework developers might find very useful during their next offline (or online, really) development session - a Windows Help file version of the Zend Framework manual.

Joseph Crawford's Blog: Zend Framework: Creating RESTful Applications

Zend feed for PHP news & articles - Thu, 2010-03-11 17:25
Joseph Crawford has a new post to his blog today with a look at his use of the Zend_Rest_Controller and Zend_Rest_Route components of the Zend Framework to create a simple REST service .

Webinar - New in Zend Framework 1.10!

Zend feed for PHP news & articles - Thu, 2010-03-11 16:27
Zend Framework 1.10 sports a ton of new features, as well as completely revamped online documentation. In this webinar, Matthew Weier O’Phinney, Framework Project Lead, and Ralph Schindler, Zend Framework Software Engineer, will present a synopsis of the new features, discuss the new online documentation system and how it’s built, and answer your questions about the new release….

Webinar - Optimizing Drupal: Performance Tips and Benchmarking by Zend and Acquia

Zend feed for PHP news & articles - Thu, 2010-03-11 16:19
To be successful, larger Drupal sites face key issues of site performance and scalability. This webinar is targeted at managers and developers who are trying to get the most out of a Drupal site. We’ll discuss common Drupal performance bottlenecks and a number of techniques to dramatically improve site performance. A detailed review of recent performance and stress testing will highlight PHP opt…

The Iterator, Countable and ArrayAccess SPL Interfaces

Dev Shed Articles - Thu, 2010-03-11 14:00
In this first part of a short series, I'm going to introduce you to using the Iterator, Countable and ArrayAccess interfaces that come with the Standard PHP Library. You'll see how to implement some of the methods declared by the Iterator interface within a class that manipulates MySQL result sets via an intuitive API.
- For many PHP developers eager to apply the object-oriented paradigm in a more thorough and consistent manner, the release of PHP 5 brought a number of handy features that allowed them to achieve this goal in a truly painless fashion. This isnt breaking news, of course, but the inclusion of member ...

Implementing the Data Mapper Design Pattern in PHP 5

Dev Shed Articles - Wed, 2010-03-10 14:00
In this first part of a five-part series, I introduce you to implementing the Data Mapper design pattern in PHP 5. This pattern attempts to solve the issue of the strong coupling that often exists between the domain objects present in an application and the underlying persistence mechanism. This benefit comes at a cost, since data mappers add a new layer of complexity. Living with this minor trade-off is quite worthwhile, though, as you'll see.
- Since the web is in constant evolution and merges a variety of technologies and languages, developing web applications (specially mid-sized and large-scale ones) has become a challenging process. Indeed, applications require extensive planning, modeling and testing, before reaching a stable depl...

DZone.com: Q&A with Jason Gilmore: The Zend Framework

Zend feed for PHP news & articles - Wed, 2010-03-10 01:12
On DZone.com today there's a new interview by Lyndsey Clevesy with Jason Gilmore looking at the Zend Framework and some of the general things to expect in coming versions.

Defining an Abstract Class with Restrictive Constructors in PHP 5

Dev Shed Articles - Tue, 2010-03-09 14:00
In this second part of a four-part series, I rebuild the example application developed in the previous tutorial. As you'll recall, it used a protected constructor to prevent the instantiation of the base array iterator class. In this case, a better result will be achieved by declaring the iterator abstract; still, the example demonstrates a simple utilization of a restrictive constructor in a concrete situation.
- Unquestionably, the introduction of a more robust object model in PHP 5 has provided developers with additional features that allow them to build efficient and thorough object-oriented applications without the need to appeal to the ugly programming hacks used frequently in the bad old days of PHP ...

PyMOTW: tabnanny - Indentation validator

O'Reilly ONLamp - Mon, 2010-03-08 16:25
Consistent use of indentation is important in a langauge like Python, where white-space is significant. The tabnanny module provides a scanner to report on "ambiguous" use of indentation. The simplest way to use tabnanny is to run it from the command line, passing the names of files to check. If you pass directory names, the directories are scanned recursively to find .py files to check.

The Reflection API: Working with Reflected Methods

Dev Shed Articles - Mon, 2010-03-08 14:00
This third part of a seven-part series explores the methods of the PHP Reflection API. You will learn how to take advantage of their functionality to retrieve useful information about the methods defined by a reflected class.
- One of today's most powerful approaches for retrieving information about the internal structure of classes and interfaces in PHP 5 is via the language's native reflection API. What's more, not only does this API comes packaged with a huge variety of methods that let developers perform all sorts of ...

Ben Scholzen's Blog: Modern Application Design - Part 1

Zend feed for PHP news & articles - Fri, 2010-03-05 22:13
Ben Scholzen has started a serial about modern appication design on his blog. As base of this serial he is using his blog source for demonstration.

Matthew Weier O'Phinney's Blog: Responding to Different Content Types in RESTful ZF Apps

Zend feed for PHP news & articles - Fri, 2010-03-05 21:11
Continuing on from his previous articles on working with REST in Zend Framework applications (and making the endpoints for a web service) Matthew Weier O'Phinney has a new tutorial with the next logical step in the series, automatically responding to different content types in your application based on the content-type the client sends.

Four short links: 5 March 2010 - GMail CRM, Django Best Practices, Stats-Think, and WoW Number Crunching

O'Reilly ONLamp - Fri, 2010-03-05 17:52
Rapportive -- a simple social CRM built into Gmail. They replace the ads in Gmail with photos, bio, and info from social media sites. (via ReadWrite Web) Best Practices in Web Development with Django and Python -- great set of recommendations. (via Jon Udell's article on checklists) These and more in today's Four Short Links.

MySQL migration and risk management - Database expert Ronald Bradford on the pros and cons of migrating from Oracle to MySQL

O'Reilly ONLamp - Fri, 2010-03-05 17:52
Ronald Bradford has been guiding DBAs through key aspects of database integration for years. In this Q&A, he discusses the pros and cons of migrating from Oracle to MySQL (hint: it's not just about cost savings). He also weighs in on how Oracle's acquisition of Sun will shape the future of MySQL and its community.

Do you queue? Introduction to the Zend Server Job Queue

Zend feed for PHP news & articles - Fri, 2010-03-05 14:00
There has been a lot of talk over the past several years about the difference between performance and scalability. Never mind that the difference between the two will probably not really affect most developers. Never mind that the “difference between performance and scalability” argument is often used when someone’s code performs poorly and their best argument is “Yeah, but my code scales”. Yeah, sure it does.

Creating Scalable Vector Graphs with PHP

Zend feed for PHP news & articles - Fri, 2010-03-05 13:31
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.

Michael Kimsal's Blog: Zend Framework and Doctrine integration - autoloading of doctrine models

Zend feed for PHP news & articles - Fri, 2010-03-05 04:56
Michael Kimsal has a new post today looking at using Doctrine models in a Zend Framework application and how to get them to autoload when you need them with the help of Zend's Zend_Loader_Autoloader.