Archive for April 2007

Richard Davey’s Blog: PhpED 5.0 first views

On Richard Davey’s blog today, he has his first looks at one of the more popular PHP IDEs out there (and its latest version, none the less, version 5.0) - PHPEd from NuSphere.

“PhpED 5 is now available. It’s the biggest release ever in our 7-year history, with all-new tools for PHP code folding, embedded Mozilla browser, a powerful database form wizard, a completely new look and feel and so much more.”

Alllrighty, I’ll have me some of that! I logged in, grabbed the new version, backed-up all of my config settings, and installed with fingers crossed. Here is what I’ve found so far, along with the answer to the million dollar question - are the new features worth the upgrade fee?

He goes through some of the “more needed” features that a lot of developers look for - code folding, a nice, clean, easy to work with interface, and some new features to make it worth the upgrade. Of course, nothing is perfect, so there are a few recommendations he makes - versioning support (CVS and Subversion), the ability to locally stage files, and a useful search and replace.

InfoWorld: Zend readies PHP applications framework

As Cal Evans points out on the Zend Developer Zone today, InfoWorld has posted an article that takes a pretty high-level approach to the Zend Framework:

Zend Technologies plans to release its Zend Framework 1.0 product by late May, a company official said at the MySQL Conference & Expo in Santa Clara, Calif., on Wednesday.

[...] “The goal of the Zend Framework was to provide a very, very easy-to-use, well-established and supported framework,” Gutmans said. But he did note that there are more than 40 PHP frameworks available, including Symfony, Prado, and CakePHP.

The article also mentions the new release will include PDF support with future plans for OpenOffice and Microsoft Office support as well.

You can find all of the information you’ll need about the current state of the Zend Framework on the project’s website.

php|architect: Pro::PHP Podcast - Interview with Ed Finkler

In a new installation of the Pro::PHP Podcast just released, Paul Reinheimer sits down and talks with Ed Finkler, “web and security archive administrator”.

Ed Finkler is also a primary developer on the PHPSecInfo project, an effort to help bring a baseline of security to developers and their applications:

PhpSecInfo provides an equivalent to the phpinfo() function that reports security information about the PHP environment, and offers suggestions for improvement. It is not a replacement for secure development techniques, and does not do any kind of code or app auditing, but can be a useful tool in a multilayered security approach.

Check out some of Ed’s own comments about the interview in this new blog entry.

O’Reilly: Code As Data: Reflection in PHP

On O’Reilly’s ONLamp.com website today, there’s a new tutorial that focuses on something new to PHP’s functionality as of the PHP 5 releases - the Reflection API - and examples of using “code as data”.

However, this can get difficult very quickly, as modern “P” languages often are quite complex, and creating a solid set of regular expressions to describe PHP or Perl would be very difficult. Many syntax highlighters have problems relating to here documents and other special cases. It would be better to let the language’s own parser take care of the hard part, as it already knows how to parse itself. In PHP (version 5 and later), we can use the Reflection API to do this.

As they explain, the Reflection API allows PHP code to look at other PHP code and find out things about it - things like function information, where and what objects are made and much more. In their code example, they create a class to parse a class, grabbing what type each of the methods are, their names, what parameters they take in, and finally, outputting the results as an XML document.

Then, using an Ajax frontend to call some backend scripts (corresponding to grabbing various data about a file) to perform some tests on their sample class, including the creation of a class to build the tests themselves.

Greg Bulmash’s Blog: Creating A Simple Rating Script With PHP And MySQL

Sometimes, when you’re building an application, simpler is better. At least, that’s how Greg Bulmash approached it in his new post about creating a simple rating script for your site with PHP and MySQL.

There are lots of pre-packaged scripts out there to do almost anything you want, but in my experience a lot of them either do too much or don’t do enough. Finding that Goldilocks style of “just right” takes a lot of searching and experimenting, or just plain hacking of existing scripts. But for simple functions, writing your own script that does exactly what you want can often be quicker and more satisfying.

He goes through what a rating system is and can be used for before getting to the code (as well as other things that could be tacked on at the end to make it a bit more complex). Then, it’s on to the code - first the database layout, then the script to store the rating the visitor gave the item, and the script that shows the averaged results.

Adding Processes to HTML DB Applications

In this second part of a three-part series covering HTML DB applications you will learn about processes. This article is excerpted from chapter 13 of the em Oracle HTML DB Handbook em written by Lawrence Linnemeyer and Bradley Brown McGraw-Hill 2 6 ISBN 72257687 ….

Refurbished and Used Networking Equipment Network Liquidators sells refurbished and used networking equipment for up to 95% off list, with a 1 year warranty. We buy and sell top brands like Cisco, Extreme, Foundry, and more. Call us for best pricing.

PHPClasses.org: 8 defensive programming best practices to prevent breaking your sites

As anyone who’s been developing applications (web or otherwise) knows, there are certain things that you just don’t do when you’re doing things like adding features or changing the code of a production application. There are some general rules to follow and this new article on the PHPClasses.org website reminds us of just a few.

This article describes software development practices that have been used to prevent problems that can break Web sites.

Included in his list are things like:

  • Handle unexpected conditions
    Test your code

  • Monitor your site errors and act upon them
  • Do not disclose errors to the users
  • Do what you can as you can never get defensive enough

He also recommends two resources for some additional reading - the Wikipedia entry for “defensive programming” and a chapter from Getting Real (from 37 Signals) about how to “Get Defensive”.

Community News: eZ Systems Releases eZ Publish Extension for Oracle Database (under GPL)

As mentioned in this new post on the php|architect website, the eZ Systems group have announced a new extension for their software (eZ Publish) to link with an Oracle database, under a GPL license no less.

This extension was previously only available under a proprietary license and was sold from $899 to $2999. It is now freely available. Last year, eZ Systems also released the Online Editor, previously only available under a proprietary license, as Open Source software under the GPL.

For more information, check out the project’s documentation on the extension or just download it and get busy working.

Matt’s Blog: How To Really Use Xdebug To Speed Up Your App

Following up on this post on the SitePoint blog about using XDebug on your application, Matt has posted some thoughts of his own on the subject, showing how to “really use” XDebug to speed up your application.

I was able to figure out how to use the profiling with a little help from the Xdebug docs and playing with WinCacheGrind. Since I never read a formalized method for properly using these tools I was hoping the SitePoint article would show me a better way. Unfortunately, I felt the article was thin on content and actually gave poor advice at one point.

To help remedy this, he provides a brief overview of exactly how he uses XDebug in an app to find his bottlenecks quickly and easily - including screenshots. He uses the Wincachegrind software to evaluate the results and to immediately spot the culprit. Following the screeshots and all, he explains what it all means in terms of how it’s affecting the application and some simple things you can do to help speed things up.

Oh, and remember the issue he had with the SitePoint article? One little word they repeated three times - “cache”.

Job Posting: World NetMedia Seeks PHP/LAMP Developers (Multiple Locations)

Company World NetMedia
Location Miami Beach, FL/Baltimore, MD/Irvine, CA
Title PHP/LAMP Developers
Summary

World NetMedia is a well established multimedia company focused primarily on the development of Internet media properties and is a leading global provider of original information, images and digital content that serves millions of customers around the globe.

Large Multimedia company with several Internet properties in the Alexa top 100. We are constantly thinking of new concepts to develop Internet properties. Most of our properties are based around online communities. We have a corporate infrastructure on the cutting edge of technology. We hold several patents and copyrights associated with our Internet properties and technology.

This is a very fun, fast-paced, high energy environment. Responsibilities shift frequently and the focus is on results through quick, clean development. Must be comfortable with fast and frequent change as well as have the ability to adapt quickly to those changes.

Looking for a true geek that loves to hack code in several languages and has fun doing it. - Design, develop, maintain and optimize secure and scalable multi-tier web applications. Strong knowledge of PHP, Perl, Javascript, UNIX shell, SQL, HTML, CSS, XML. Comfortable with both object oriented and procedural programming methodologies.

Experience with PHP5 and MySQL5 preferable. Experience with C, C++, Java, Python, and other languages a plus. Knowledge installing, configuring and maintaining Linux, Apache, MySQL and PHP packages. Strong knowledge of stored procedures, triggers, indexes, table normalization and database design. - Familiarity with Zeus Web Server a big plus. - Knowledge of AJAX development a plus.

Comfortable hacking and compiling Linux software packages. Strong understanding of software development life-cycle and best practices. Proficiency in working and developing on Linux (any flavor - debian, redhat, ubuntu, slackware etc.

If interested, send your resume to resumes@worldnetjobs.com. Positions open in Miami Beach, FL/Baltimore, MD/Irvine, CA

Link More Information