Currently browsing zend


Zend PHP 5 Certification Study Guide Published!

Thu, 5 Oct 2006 21:51 UTC

Zend PHP 5 Certification Study Guide

Today, php|architect has released the latest in their line of nanobooks: php|architect’s Zend PHP 5 Certification Study Guide. Writing along with Davey Shafik, I’m proud to have been a part of this project. It was hard work, and Davey had to step in on more than one occassion to save my rear-end, but I think, in the end, all worked out well, and I can honestly say that the final product is more than simply a study guide for the Zend PHP 5 Certification Exam. In fact, it is an essential guide to PHP 5 in general.

php|architect’s Zend PHP 5 Certification Study Guide covers topics ranging from the basics of PHP to object-oriented programming to databases to Web services, and it does so all under the banner of PHP 5. If you want a general primer on PHP 5, then this book is for you. If you want to study for the Zend PHP 5 Certification Exam, then even better; this book is especially for you.

Coinciding with the release of the book is the announcment of a competition in which the grand prize winner will receive a Zend Studio Professional license, a voucher for the Zend PHP 5 Certification Exam, one year’s subscription to php|architect, and a signed copy of php|architect’s Zend PHP 5 Certification Study Guide.

To find out more about the competition, the book, the authors, and to read a sample chapter, check out the book’s official Web site at http://zceguide.com/. And don’t forget to buy the book!

Finally, since I’m often asked, my contribution to this book included the chapters Databases and SQL, XML and Web Services, and Security.

Comments 5 Comments »  Permalink Permalink  Tags Tags: , , , , ,


Zend Framework on Ning

Thu, 24 Aug 2006 7:29 UTC

I couldn’t sleep tonight, so, instead of doing one of the many other things on my plate that I need to actually work on, I decided to set up the Zend Framework on Ning so that others could clone it and use it for their Ning applications. If you’re unfamliar with Ning, here’s what the Ning developer documentation says about itself:

Ning enables regular everyday people with no design or development skills to get their own copy of real, working social web applications and adapt them for any need or niche. But that’s not all. Everything running on Ning is 100% programmable. This means web designers, developers, or adventurous amateurs can dive into any App or feature running on Ning and change it.

Now, on to the good stuff. I’ve set up a fully functional application using the Zend Framework on Ning. Thus, the application structure, URL mapping rules, and bootstrap file are all in place and working. All you need to do is clone the app and get to work on building your Zend Framework application on Ning. I had to make a few slight modifications to the Zend Framework (mostly with respect to $_SERVER[‘REQUEST_URI’]), but those are noted in the notes I provide on the Zend Framework Ning site.

So, go to the Zend Framework Ning site now and get started playing with the Zend Framework and Ning!

NOTE: Ning is running PHP 5.0.4, so there may be some parts of the Zend Framework that do not work, since the ZF requires PHP 5.1.4. If you run across these, please note them in a comment here, and I’ll note it on the Ning page for the Zend Framework.

Comments 1 Comment »  Permalink Permalink  Tags Tags: , , ,


The Impending PHP Boom

Sun, 30 Apr 2006 19:28 UTC

Jim Plush’s recent blog post “The Soon to be PHP Boom” reminded me of my October 2005 post “What’s Good for Zend is Good for PHP.” In that post, I observed—from comments made by Marc Andreessen in the Wall Street Journal and Zend’s involvement in the Enterprise—that “the forecast for PHP looks bright and sunny.”

Indeed, if Jim’s post is any indication, that future is getting brighter and sunnier.

Jim lists some ways for up-and-coming PHP programmers to hone their skills and get noticed. I’d like to add one additional thing to it: blog, blog, blog! Start a blog and begin taking part in the PHP blogosphere by offering your opinions and experience to the PHP community. In addition (and, perhaps, more importantly), read the blogs of other PHP developers. A good place to start is to take a look at the blogroll on my home page.

It may take a while (and, generally, in the PHP community, it doesn’t take very long), but you will soon be noticed, and potential employers will be able to find you easily through search engines (as Jim suggested). From my experience, starting a blog about PHP is a quick and easy way to make connections and network with others. You simply need to start and make it a regular habit to blog—unlike the near silence I’ve had over the past six months.

I think the number of PHP jobs will only grow over the next few years, as middle-to-upper management folks begin to realize the value of PHP—or, if anything, they begin to realize that PHP is a buzzword they need to add to their repertoire of tools.

Comments 1 Comment »  Permalink Permalink  Tags Tags: , , , ,


Vaporware No More: Zend Framework Available

Sat, 4 Mar 2006 19:40 UTC

A preview release of the Zend Framework is now available, and, so far, I must say that all looks well.

The one thing that I’m a bit curious about is the apparent removal of the Active Record implementation, Zend_Db_DataObject. The documentation for this object exists in the Programmer’s Reference Guide, but it’s nowhere to be found in the API. I wonder whether the implementation exists in a different form in Zend_Db, or was it scrapped altogether?

The Active Record implementation aside, one of the other features I was looking forward to was the Zend_InputFilter framework. I know that Chris will undoubtedly write much more about this, but I wanted to point out one very cool feature: the strict mode.

The strict mode works like this: you pass an array of tainted data (let’s say the $_POST array) to Zend_InputFilter to create a new object to access the data in a safe manner, and, then, by default, $_POST is set to NULL for the remainder of the script—you simply cannot access the raw, tainted data from $_POST. Here’s an example:

<?php
 
$filterPost = new Zend_InputFilter($_POST);
$username   = $filterPost->isAlpha('username');
 
var_dump($username); // will either contain the value of 
                     // $_POST['username'] (if it contains only 
                     // alphabetic characters) or FALSE
var_dump($_POST);    // will print NULL
 
?>

This strict mode could be very useful in an environment with a team of application developers. Just set auto_prepend_file in php.ini to load up a script that grabs all autoglobal variables ($_POST, $_GET, $_COOKIE, etc.) and stores them to Zend_InputFilter objects, and you never have to worry about your team accessing raw data—they must always use the Zend_InputFilter object to get to the data. (There is a getRaw() method of this object, but I’ll let Chris discuss it in more detail.)

Finally, lots of folks are already talking about this. Here are some links:

Comments No Comments  Permalink Permalink  Tags Tags: , , , , ,


PRO::PHP Interview With Andi

Fri, 27 Jan 2006 19:14 UTC

Today, PHP Architect and Pro PHP Podcast held their first live podcast (Interview with Andi Gutmans) since PHP Architect announced their “acquisition” of the podcast. However, due to some technical difficulties, the live feed was canceled after about fifteen minutes into the interview, and the audience was unable to participate in the Q & A session at the end.

Nevertheless, I do have a few notes from the interview to share.

PHP Collaboration Project
The Zend PHP Collaboration Project, often referred to as the “Zend Framework,” was on the minds of many of the attendees as the interview began, and Marcus Whitney dove right into it, asking Andi why Zend decided to undertake this project. Andi said that Zend feels there are three things needed to take PHP to the next level; the PHP Collaboration Project is made up of these three things:

  • a solid framework/development environment
  • enriched development tools (Eclipse)
  • best practices

    Zend is using the PHP Collaboration Project as a vehicle to promote and accomplish these goals to advance PHP.

    PHP Competing With .NET
    Marcus asked Andi why he has been quoted in the past as saying that Java is not PHP’s main competition, but, rather, .NET provides the most competition. Andi ellaborated on this, saying that the Web is moving toward a more agile development model, which is why he feels that Java is not particularly suited for the Web. Instead, .NET and PHP are both particularly suited to solve the Web problem, and so it is only natural for .NET to be PHP’s main competition.

    PHP Strengths
    Andi continued his discussion of PHP vs. .NET by highlighting the major strength of PHP and the main weakness of Microsoft (and, thus, .NET). He said that the greatest strength PHP has is its large community base, while Microsoft has never been able to solidify itself in the server market over Apache—the software giant’s greatest weakness in the competition against PHP.

    At this point in the interview, the technical difficulties took over and the audience was unable to participate in the remainder of the interview, so this blog post serves merely as a teaser. I believe they’ll post the rest of the interview by Monday, though, so look for it, then.

    Comments 2 Comments »  Permalink Permalink  Tags Tags: , , ,


What’s Good for Zend is Good for PHP

Fri, 21 Oct 2005 19:57 UTC

I began this year with the optimistic outlook that it would be the “year of PHP.” Indeed, little did I know that this hopeful view would come true. With astounding and visionary statements from such prominent figures as Marc Andreessen, who recently joined the board of Zend Technologies, Inc.—“when it comes to the Web and Web applications, Java is not the right language1” and “PHP is to 2005 what Java was to 19951”—the forecast for PHP looks bright and sunny.

Yet, for whatever reason, not everyone in the PHP community is excited about this show of support, and with Zend’s announcement of the PHP Collaboration Project this week at the Zend/PHP Conference and Expo, this sentiment has been voiced on more than one blog. While, I did not have the privilage of attending the conference, news has spread fast, and I’d like to share why I feel that what’s good for Zend is good for PHP overall.

But before I go into much more detail, let me explain my relationship—or lack thereof—to Zend: I have no vested interest or stake in Zend. I am not an investor. I am not employed by them. In fact, I am not close friends with anyone who works at Zend. So, nothing I say here is influenced by a relationship I have with Zend. Yet, nevertheless, I have an interest in the survival of Zend Technologies, Inc. because I have an investment in the PHP language.

What? How does Zend’s survival have anything to do with the language itself? Let me tell you how. The success of PHP in the marketplace directly correlates to the success of Zend. If Zend fails, then PHP fails.

This does not mean that PHP will cease to exist if Zend fails, but it means that there will no longer be an advocate for PHP to the Enterprise. Why do you think Java has been so successful in the Enterprise? Is it because of its superiority as a programming language? Not in the least. It’s because Sun has been there from day one advocating its adoption. Zend is here now to do the same for PHP. And where Zend is successful in convincing the Enterprise of PHP’s scalability and power there will be jobs for PHP developers.

So, now we come to the question of the PHP Collaboration Project, which many are describing as the “Zend PHP Framework.” Since June, I have known that this framework was something that the folks at Zend were cooking up, but, at the time, they were still unclear on how they wanted to approach it. There seemed to be two sides to the coin, as I understood it: 1) the framework would be developed by Zend and used in Enterprise projects, or 2) the framework would be developed, at first, by Zend for Enterprise-grade applications and then released to the community as an open-source project. In either scenario, Zend would be the major driving force in the development of the framework.

Yet, agree with me or not, Zend is committed to the PHP community and the PHP Group, while, at the same time, their corporate goal is to encourage and drive PHP adoption in the Enterprise. To fuse these two ideals, it appears they have created the PHP Collaboration Project not to create a “Zend PHP Framework,” but to foster the development of a community-driven, Enterprise-grade framework. Herein lies the core of what Zend is about: Zend wants to remain true to the community, and by connecting the community to the Enterprise with this collaborative project, they solidify the relationship between the community and the Enterprise and ensure a future job market for PHP developers.

I laud Zend’s commitment to the community, and I commend them on their successes in advocating PHP to the Enterprise. Both the community and Enterprise adoption are important to me, and they should be important to you. Far too often do I see a staunch commitment to the PHP community with an increasingly negative attitude towards the Enterprise. This arises from people’s varying philosophical beliefs and values, but it is detrimental to the job market. I, for one, cannot live without a job, and if the Enterprise takes hold of PHP and starts using it with the same fervor they embraced Java, then I can rest assured knowing that PHP will be around for many years, and I will be able to easily find PHP jobs.

Still, what does this mean for the core of the language? How much influence will these large companies have on the community, and how much push-and-pull will they be able to inject into the language development process? I think this is a worry that is on many people’s minds, and I think it’s a legitimate concern. What pandora’s box has Zend opened by involving the Enterprise with the community? I think these concerns can be assuaged with one word (or acronym, rather): PECL.

More and more, core developers have been working to remove “bloat” from the PHP core and relegate it to PECL, where it can live a satisfying life, free from the controversies of the internals mailing list. Anyone can create a PHP extension and be a part of the PECL community without having to go through the extensive—and often controversial—process of having code accepted into the core. Thus, companies—or developers of the PHP Collaboration Project’s framework—requiring add-ons to the PHP core can easily develop an extension and distribute it via PECL. IBM is already doing this with their SDO contribution, and the Midgard framework uses a custom PHP extension to improve performance. Why is PECL not a not logical and obvious choice for the Enterprise to use? Why must we first assume that companies will request changes to the PHP core and pressure the PHP Group through Zend to make these changes?

Finally, frameworks abound in the PHP community, but after ten years of growth and development, not one framework has stepped out above the rest as a leader. With all the hype surrounding Ruby on Rails, it is obvious that the PHP community is lacking a good, solid framework. It is also clear that the Enterprise is looking for exactly this. If providing an Enterprise-grade framework will spur the adoption of PHP in the marketplace, thus providing more jobs to PHP developers, then I think Zend has stepped foward to show both their commitment to the Enterprise and the community. This is a show of faith to the community; Zend could have easily developed the framework on their own, but, instead, they have invited everyone to share input: community and Enterprise alike.

To Zend, I say, thank you for this opportunity. To the Enterprise, I say, here’s looking forward to a bright future. And to the community, I say, good luck in making this partnership work—it’s all up to you.

1 qtd. in Bank, David. “PHP Language Wins Supporters As Tool for Making Web Software.” The Wall Street Journal Online 29 Sept. 2005. .

Comments 3 Comments »  Permalink Permalink  Tags Tags: , , , ,


Scheduled for the Zend PHP Exam

Tue, 19 Oct 2004 16:22 UTC

I’ve scheduled my Zend PHP Certification exam appointment at a local testing center for Friday, October 29 at 2:00 PM.

Wish me luck and whatever else I’ll need to pass. :-)

Comments 10 Comments »  Permalink Permalink  Tags Tags: , , ,


Reaching the Finish Line

Fri, 8 Oct 2004 16:52 UTC

So, I’ve won the race, and I’ve confimed it with Chris Shiflett! Woo hoo!

In all seriousness, it took me only an hour and a half to solve. I had never really cared to put any time into it, so I had only given it cursory glances. However, when I noticed that Zend had fronted a prize for it, I decided on a whim to try a sweet tactic, which proved, in the end, to greatly aid in crossing the finish line first.

What was that tactic? you may ask. Well, if I told you, there wouldn’t be anymore challenge, would there? Nope. I have sworn myself to secrecy until Chris decides to publish the answer.

Until then, will you come in second?

race

Comments 1 Comment »  Permalink Permalink  Tags Tags: ,


Sun buying PHP/Zend?

Thu, 5 Aug 2004 11:09 UTC

I logged on today to find a very interesting and controversial article at DevShed.com (via this post) concerning the future direction of PHP. In short, the author surmises that the changes made to PHP 5, essentially making it more Java-like, are a step on the path to a Sun-influenced, if not owned, PHP. It presents some stark evidence, all circumstantial of course, that points to this direction, saying that “the long-lasting popularity of LAMP environments (Linux, Apache, MySQL, PHP) will soon be replaced by SLOP environments (Sun, Linux, Oracle, PHP).”

I’m not sure whether I can agree with the author. However, he makes a good case, and it is definitely a troubling matter. I cannot imagine that the PHP Group, who have thus far seemed very committed to Open Source, would transfer the countless hours of hard work by developers to a corporate entity, giving it to them as their property. Furthermore, it is the PHP Group and not Zend that owns the copyright on PHP, the language. And, even if Zend sells the Zend Engine to Sun, and manages to somehow get the PHP Group to transfer PHP to them as well, there are versions of PHP still under an OSS license that can be taken by the developers and forked to maintain an open-source version, perhaps on parrot (as mentioned by Rasmus and others).

In summary, I don’t know what the future holds for PHP given this startling news, but perhaps Harry Fuecks, who also adds to the controversy discussion, summed it up best by saying, “I find the conclusion somewhat tabloid.” In short: it’s all hype.

Let’s keep PHP where it belongs: in the Open Source community.

Comments No Comments  Permalink Permalink  Tags Tags: , , , , ,