blog.phpdeveloper.org » PHPBook Review: Beginning PHP and Oracle (Apress) (13.5.2008, 19:54 UTC)

The nice friendly people over at APress sent me a few new books the other day, one of which is “Beginning PHP and Oracle: From Novice to Professional” by W. Jason Gilmore and Bob Bryla. Of the three, I was most interested in this one as a possible resource to hand off to other people in our company (the Oracle developers, specifically) for them to get started with PHP. Thankfully I can say that, after going through the book, it looks like an excellent fill to bridge the gap between most Oracle developers and the world of PHP.

If you’re a PHP developer, pick up your copy of the book and follow my lead - set the book, spine down, on the table and stick your finger right in the middle. To your left is all of the PHP knowledge you’ve already learned and to your right is a wide open range of Oracle goodness just waiting for you to soak it all in. The first half of the book is an excellent introduction to PHP and can be handed to that special Oracle developer in your life who would like to get to know the language. The usual topics are there - the basic syntax, functions, arrays, object oriented programming, PEAR and lots more. If you’re just going in for the Oracle/PHP combo, you’ll find a lot more than you were asking for (which can be good and bad).

Things switch around at about the Chapter 26 mark where the first hints of Oracle start to show. This is where a lot of the Oracle developers out there can tune out a little more. The first few Oracle chapters deal with setting up and getting to know the Oracle environment, how to use views and transactions. Things get interesting when PHP jumps back in, though. PHP and Oracle developers alike can learn lots here.

Starting from Chapter 32 on, the rest of the book is devoted to the happy union of PHP making requests via the Oracle drivers to a local database (they use a local copy of Oracle Database XE in their examples). They include examples using transactions, generating a table of results with PEAR’s HTML_Table and using views and triggers in your application.

This book works well for both audiences - the PHP developer wanting to learn what all the fuss surrounding Oracle is about and the Oracle developer looking for a peek into the world of the web’s most popular web development language. There’s a little something here for everyone (there’s even a chapter on web services!) and it will be finding its way to the desks of several Oracle devs around here that have been bugging me to show them “that PHP thing” they’ve been hearing about.

Something a little more substantial - the Table of Contents:

  • Chapter 1 Introducing PHP
  • Chapter 2 Configuring Your Environment
  • Chapter 3 PHP Basics
  • Chapter 4 Functions
  • Chapter 5 Arrays
  • Chapter 6 Object-Oriented PHP
  • Chapter 7 Advanced OOP Features
  • Chapter 8 Error and Exception Handling
  • Chapter 9 Strings and Regular Expressions
  • Chapter 10 Working with the File and Operating System
  • Chapter 11 PEAR
  • Chapter 12 Date and Time
  • Chapter 13 Forms
  • Chapter 14 Authentication
  • Chapter 15 Handling File Uploads
  • Chapter 16 Networking
  • Chapter 17 PHP and LDAP
  • Chapter 18 Session Handlers
  • Chapter 19 Templating with Smarty
  • Chapter 20 Web Services
  • Chapter 21 Secure PHP Programming
  • Chapter 22 SQLite
  • Chapter 23 Introducing PDO
  • Chapter 24 Building Web Sites for the World
  • Chapter 25 MVC and the Zend Framework
  • Chapter 26 Introducing Oracle
  • Chapter 27 Installing and Configuring Oracle Database XE
  • Chapter 28 Oracle Database XE Administration
  • Chapter 29 Interacting with Oracle Database XE
  • Chapter 30 From Databases to Datatypes
  • Chapter 31 Securing Oracle Database XE
  • Chapter 32 PHP’s Oracle Functionality
  • Chapter 33 Transactions
  • Chapter 34 Using HTML_Table with Advanced Queries
  • Chapter 35 Using Views
  • Chapter 36 Oracle PL/SQL Subprograms
  • Chapter 37 Oracle Triggers
  • Chapter 38 Indexes and Optimizing Techniques
  • Chapter 39 Importing and Exporting Data
  • Chapter 40 Backup and Recovery
Link
Lorenzo AlbertonPEAR::Translation2: frontend usage (13.5.2008, 19:28 UTC)
This first Translation2 tutorial shows how to deal with translated strings: how to fetch them one by one or in groups, and how to transform, cache and decorate them.
Link
Richard HeyesDatagrid and arrays (13.5.2008, 10:10 UTC)

I put it to you... should the datagrid support arrays as the data source as well as MySQL result sets? I'm thinking maybe it should, mainly because I need something to do. :-/ But I can see the situation where you might want to test and setup the datagrid by just giving it an array, before you actually set it up correctly for MySQL. Or maybe there's connection issues and you want to make sure that the datagrid isn't the problem. But regardless, should the datagrid support arrays?

Link
Rich ZyglerPHP Developer Jobs are the Hottest EVER!!! (13.5.2008, 10:05 UTC)

** I’ll preface this by saying that I’m not specifically looking for a new position but I think it is important to be aware of the market that you serve. Even in happy times during my employment, I routinely scan job ads to see the health of the market and to gauge its direction. **

If anecdotal evidence means anything, and sometimes it does… and at the risk of sounding like a teenage girl writing on a myspace page, the PHP job market is literally blasting off! I’ve never seen the market for PHP programmers as strong as it right now in the NYC/Philadelphia region.

While there are lots of PHP jobs in the usual suspects like small start-ups, there also seem to be a number of jobs at established companies and developer shops. I’m also seeing a definite split in PHP jobs where there are both entry level jobs as well as jobs for more experienced people with titles like “Senior PHP Developer” and “PHP Tech Lead.” I can’t remember seeing so many senior PHP positions. The salaries I’m seeing are also at an all time high. Many ads have salary ranges that extend well into 6 figures.

As far as requirements I have seen, there definitely seems to be a shift towards frameworks like Symfony and Zend Framework as well as items specifically mentioning IDEs like Eclipse and Zend Studio. However, I rarely see mention of source code management and unit testing. Hopefully those items were cut from the job ads due to space requirements. ;-)

If you are a PHP developer in the area and are highly experienced, get ready to reap the rewards for your hard work. If you are a hiring manager in the area, prepare to shell out more for top talent.

So what is everyone else seeing in their area with regards to PHP developer jobs?

.

Link
Sebastian BergmannDutch PHP TestFest (13.5.2008, 06:00 UTC)
PHP TestFest

Last Saturday I helped the Dutch PHP Usergroup (Nederlandse PHP Gebruikersgroep) with the organization and moderation of the Dutch PHP TestFest in Roosendaal.

The day started for me with a 4.5 hour train ride (Siegburg -> Düsseldorf -> Venlo -> Tilburg -> Roosendaal). I arrived shortly after noon, just in time for the start of the test fest at 12:30.

Keeping Score

After a short introduction to PHPT, we started writing tests for the Reflection API. We managed to write 37 tests with 10 people in 4 hours.

The day ended for me with another 4.5 hour train ride (Roosendaal -> Brussles -> Cologne -> Siegburg).

Thanks to the kind people that attended the test fest, I had something interesting to read on the way back: Principles of Program Analysis. Thank you for this nice present!

Link
Christopher JonesPECL OCI8 1.2.5 Available (13.5.2008, 05:47 UTC)
Hang on, weren't we up to OCI8 version 1.3?  Well, yes, but that's Beta bordering on Production.  In the meantime, I wanted to make the OCI8 bug fixes from PHP 5.2.6 available in a "Production" release and keep PECL OCI8 1.2 in sync with PHP 5.2.  The changelog is here.
Link
Ken GuestBook review: “Mastering phpMyAdmin 2.11 for Effective MySQL Management” by Marc Delisle (12.5.2008, 23:23 UTC)

Mastering phpMyAdmin 2.11 for Effective MySQL Management” by Marc Delisle

This book on phpMyAdmin is written by Marc Delisle, one of the core developers of the application which I think just about any software developer utilising MySQL has dabbled with at the least. I can honestly say that anyone that experimented with phpMyAdmin before reading this book will use it much more thoroughly and more productively afterwards.

This is a well written, easily read, book that is fully comprehensive regarding how to use phpMyAdmin for both casually inserting and maintaining data in a mysql database; checking queries before utilising them in your code; data transformations; and actual database and user administration, such as changing the structure of your databases, collations, creating system documentation, assigning privileges and more.

I scarcely believe this book could be much more detailed, especially as it often has more than two screen shots per page - it is no wonder that I now know much more of what phpMyAdmin is capable of!

The troubleshooting chapter at the back seems invaluable and the chapter covering MySQL 5 additions seems a useful refresher for those of us that may need to be reminded of new functionality present only in that more recent version of MySQL, and after reading this book I fully expect that I shall be using phpmyadmin more and not using either the MySQL Query Browser or Oracle’s SQL Developer as much.

The blurb on the back of the book says that it is for every serious phpMyAdmin user who would like to use this outstanding application to its full power - after reading it I am very much inclined to agree and would recommend it to anyone that uses phpMyAdmin on a daily basis.

Link
Jordi BoggianoWho let the Dwoo out ? (12.5.2008, 22:47 UTC)

Four months have passed since I started on this project and I finally feel that it is stable enough to make an announcement and have more people trying it.

So what is it ? Dwoo is a PHP5 template engine. Another one you might think, indeed but with every new project comes a new vision, and hopefully you will like mine.

Read more...
Link
SitePoint Blogs » PHPUseful in-browser development tools for PHP (12.5.2008, 21:47 UTC)

While debuggers exists, there isn’t much of a tradition for using them in PHP. People have largely come to rely on injecting debugging code directly into the program, for inspecting program scope. The infamous var_dump have served for this purpose and version 4.3.0 of PHP brought us another equally useful function — debug_backtrace.

Tracers and error handlers

Both of these functions produce a rather crude output though, so naturally people have written wrappers around them to remedy this. I think Harry’s pretty bluescreen was one of the first dedicated libraries I’ve seen. Xdebug spouts a similar output on error, although arguably not as pretty. Or blue.

What bluescreen is for debug_backtrace, krumo is for var_dump. Recently, FirePHP — building on Firebug — does a similar thing. FirePHP uses HTTP-headers to send data from server to client, which turns out to be very handy when dealing with non-HTML output (Eg. Ajax stuff). Because it builds on Firebug, it only works on Firefox, and in particular only on Firefox 2 (Another reason for Ubuntu-users to downgrade from Firefox 3).

Frameworks

Apart for these general general tracing tools, a couple of frameworks have their own, more or less specific, tools. Symfony’s Debug Toolbar is probably the most impressive (And in contrast, Zend Framework the least), even providing information about database-queries, which is very helpful for profiling.

Another framework-specific tool, which I’m quite impressed by, is the Theme developer module. It’s advertised as “Firebug for Drupal theming”, which is fairly descriptive. In case you haven’t used Drupal, it has a complex theming system for rendering pages and this tool makes it a lot easier to figure out which part is doing what. Even if you don’t intend on using Drupal, it’s fascinating to see how well polished it looks.

I think that most frameworks with an integrated presentation layer, could benefit hugely from something similar, although the specifics would obviously vary. One of my own projects, Konstrukt, has a tool for displaying debug-information about which controllers renders in which order. This can be helpful, because a given page will often have several controllers working in concert to produce the final response.

Another take on this, is Cake PHP’s debug messages. This extension adds very specific and descriptive error messages in various places, which almost works out like a tutorial for new users; Seems like a good idea.

Webgrind

I already mentioned Xdebug, which is indispensable for profiling PHP applications. Last week, Webgrind had its first released. It’s a HTML-based frontend for displaying profiling output, generated by Xdebug. There are already tools for the purpose; If you’re on Windows, WinCacheGrind and for Linux-based systems, kCacheGrind. However, I can see a few good cases for Webgrind;

First of all, a zero-install client is a bit easier to reach out for. For Mac users, it’s also the only option. The featureset is quite limited, but this turns out to be somewhat a benefit. kCacheGrind can be quite intimidating and for the purpose of profiling, Webgrind’s features seems fairly adequate.
The most important though, is that the logfile generated by Xdebug (Which is the data-format for the various grind’s) tend to get rather huge. Naturally, this makes it awkward to have server and client on separate machines — This is not a problem for Webgrind, since it runs at the server side.

<script src="http://www.sitepoint.com/adjs.php?region=136&did=adz&adtype=vertical" type="text/javascript">
Link
Chuck HagenbuchBirth Announcement (12.5.2008, 21:15 UTC)
I'm a dad! Some details and a few thumbnails after the jump.
Link
LinksRSS 0.92   RDF 1.
Atom Feed   100% Popoon
PHP5 powered   PEAR
ButtonsPlanet PHP   Planet PHP
Planet PHP