In a new post to his blog today, Matthew O'Phinney dives in to some of the more advanced features that the Zend_Form component of the Zend Framework has to offer.
I've been working on for the past few weeks, and it's nearing release readiness. There are a number of features that Cal didn't cover in his DevZone coverage (in part because some of them weren't yet complete) that I'd like to showcase.
These additional features include internationalization, element grouping and array support. He looks at each of these, including some sample code where needed, and shows you how they can be useful to you and your ZF application.
On the Make Me Pulse blog, Antoine Ughetto shares a method he came up with to recurse through an array using the SPL method the RecursiveArrayIterator method.
When we have a multidimensional array we have to make some recursives function to parse it. A simple way to get the keys and the value of this type of array is to use the SPL library of PHP.
A code example is included, parsing through a recursive array to output each of the key/value pairs it contains (and using only about five or six lines of code to do it).
Company
Veedow
Location
London, United Kingdom
Title
LAMP Developer
Summary
Veedow is a social shopping site built around people specific interests. We gather information from multiple providers and deliver it to our members according to their preferences. We use algorithms to power our content delivery system in order to make every user’s experience unique and tailormade.
We are a small team working in a vibrant and constantly challenging atmosphere, which is extremely valuable for your growth as a developer as much as a person. The company is young and every person have the real opportunity to make his/her voice heard and leave a footprint in the project development and its final success. We are looking for young developers with talent and passion who love coding, are excited by the opportunity to innovate and also eager to get their teeth into a challenging and complex project in a Windowsfree environment.
LAMP Developer position:
You will be involved in a small team and will be expected to make sensible and informed decisions, take responsibility and turn ideas into real things that work. You will not be shy of large and complex queries, statistics or developing for high traffic.
The ideal candidate enjoys working in a small environment, has a start up mentality as well as outstanding communication skills.
Essential technical skills:
PHP 5
MySQL 5
XHTML
CSS
Javascript
Experience with any of the following will be advantageous:
MVC design pattern, Linux (preferably Ubuntu), Apache, XML, Ajax, memcached, Sphinx, jQuery, LightTPD, mod_rewrite, GD graphics library, Subversion, PHPEclipse.
Qualifications:
A degree in Computer Science or other IT related subject is great, but we also consider people with different backgrounds and not necessarily with a degree. If you taught yourself coding and everything else because you understood that it was your world, chances are that you’re the right person for this company. Due to the heavy business intelligence we’re building highly numerate persons are very appreciated.
What we offer:
A competitive salary plus bonus and stock options, but most of all a great place to learn and do cuttingedge stuff.
How to apply:
Send your CV with a brief description of why you should be the right person for us at HIREME [AT] VEEDOW [DOT] COM
Link
More Information
Hasin Hayder shares a method for hacking the Slideshare.net service to be able to download whatever slideshow you'd like:
I just spent some time today analyzing the HTTP requests made by the player available in slideshare using LiveHTTPHeader extension and found a way to download any presentation you want! There are many slides available in slideshare where you see that Download not available But as long you have some knowledge on webscrapping, that doesn’t matter at all.
He includes the code that you can point at a slideshow's URL and let run. It works through each of the pages of the presentation and pulls out the URL of it and echoes it back out.
For a lot of developers, just finding good resources to look for a job is half the challenge. Sure, there's the big guys, but what if you need something a little more focused? The Developer Tutorials blog has a few suggestions you can try.
Many positionbased boards are full of employers who don’t understand the value of quality code. [...] There are really only two ways to find a decent PHP job, then: find freelance projects from clients that will pay for your expertise, or get a full time job. Here are some good destinations for each.
Their suggestions are broken up into two different categories freelance or waged. The freelance list includes Elance and PHPFreelancers while their waged list includes the Zend Job Board and the PHPJobs.com website.
The Developer Tutorials site has posted a new look at working with PHP in a different sort of environment than most people think on the desktop.
You've been through it all with the web, from basic database hacks to battling with inconsistent browser rendering, and now you want to have a go at something different.
Of course, the standard destination would be desktop application development.
The work through some of the basics of desktop development as well as some of the advantages and disadvantages to making the move. The include some example code to get you started with a Hello World sort of example using the PHPGTK libraries.
New from PHPRiot today, there's this new tutorial showing you how to combine a PHP interface with the Google Maps API to do some geocoding of your own.
Geocoding is the process of finding the longitude and latitude of a given address or location. The Google Maps service gives developers and web site owners free access to their geocoder, both using the Google Maps JavaScript API, as well as using the web service. In this article I will show you how to access the geocoder web service using PHP so that it can be used in your own applications.
The tutorial walks you through every step of the way from getting your Google API ID to making a simple request all the way out to using placemarks to store locations to fetch later on.
This is a great, very detailed summary that anyone wanting to work with the Google API in PHP should definitely check out.
Job postings for the past week:Site News: Job Postings for the week of 02.02.2008Job Posting: Technology Resources, Inc Seeks Senior PHP Developer (New York, NY)
Company
Red Ventures
Location
Charlotte, NC
Title
Sr. Systems Analyst/Web Developer
Summary
WHAT WE DO:
Very simply put Red Ventures acquires customers for Great
Brands through a myriad of direct marketing channels. We combine
analytical marketers, high performing and often unique direct response
marketing channels, a superior web and sales infrastructure, with a
robust technology and reporting platform. We partner with industry
leading brands such as DIRECTV, SIRIUS Satellite Radio, and ADT Home
Security Systems. Red Ventures success has recently been recognized by
Inc Magazine with the #4 ranking on their Fastest Growing Private
Companies in the US list and by DIRECTV as their Dealer of the Year!
WHY SHOULD YOU WANT TO WORK HERE?
Red Ventures' company culture is what
gives us our competitive advantage and what attracts top talent from all
over the nation. We give our employees the freedom to drive their career
direction and to create their own growth opportunities. There is an
amazing energy and determination to our team but it comes in a casual
office environment with no bureaucracy and no dress code. To be a real
player in our company you must be passionate about your work and we
expect that passion to run over into the rest of your life. Red Ventures
requires that our employees have a healthy work life balance where fun
and excitement are a common theme.
We offer unique benefits to our employees such as company sponsored
Happy Hours, Cook Outs on our back patio and quick games of 3 on 3 on
the basketball court. Tired of paying for parking? We have free parking
and our office is conveniently surrounded by restaurants, shops, a
fitness facility, and a daycare center. While we are very proud of our
current benefits, we look internally for suggestions on ways to
continually improve our benefits!
We offer a topnotch work environment for our developers, that includes
Eclipse with SVN using two development machines and three monitors!
SR. SYSTEMS ANALYST/WEB DEVELOPER POSITION:
Due to our growth we are seeking a Sr. Systems Analyst/Web Developer to
be in a lead technical role on one of our businesses. This position
requires the developer to have the business savvy to translate vague
business requirements into tangible and accurate technical requirements
as well as to anticipate future requirements within the design of new
systems. This person should have experience in realworld LAMP
(Linux/FreeBSD, Apache, MySQL, PHP/Perl) development as well as a proven
record participating and working with the business side of a company.
This person must be wellexperienced in large scale complex database
design, query creation, and data integrity checking, processing, and
reporting.
The primary job responsibility for this position is to provide PHP
programming and functionality for a wide variety of consumerrelated
websites, intranets, extranets and webbased applications. This entails
designing, evaluating, updating and maintaining OO and nonOO
applications in PHP with a heavy emphasis on database design and
reporting. This is the perfect opportunity for LAMP Developers looking
to play a key role in creating enabling technology for a successful
online and offline marketing company. This position will have a large
development component based on the business requirements produced during
business strategy sessions and day to day business requirements and
changes.
Successful candidates will have demonstrable experience building real
online applications in a LAMP environment and will be able to make a
meaningful contribution from day one. They will be comfortable working
with team members at all levels and departments within the organization.
These individuals will be willing to share their opinions and insights
with business leaders on a daily basis in order to affect rapid decision
cycles and effective technical solutions to business requirements.
Qualifications:
Bachelor's Degree in Information Sciences or similar field
6+ years of solid PHP and MySQL development
Strong working knowledge of HTML, DHTML/CSS and Javascript
Ability to translate business requirements into system design
Ability to partner and work in a fastpaced, collaborative team environment
Strong debugging skills and the ability to easily and quickly read and
modify existing code
Sense of humor
Desire to roll up your sleeves and dig into the work!
Link
More Information
Reinhold Weber has put together a list of signs (40 in all on his programming list of shame) that you're a lousy PHP programmer. Here's a sampling:
don't see the need and/or benefits of a good programming IDE like Zend Studio or Eclipse PDT
have never used some form of version control like Subclipse
don't use a consistent methodology
don't use testdriven development
don't return content but echo or print it from your functions or classes
return HTML, not data, strings, or objects.
don't allow intelligent error handling
you think reusable software equals/requires your code to be OOP
Now granted, some of them are a bit more high level than others, but if you're not headed towards a lot of these, you might change paths, hop out of that comfort zone and branch out into the community and the language a little bit more.
Scott Klarr has pulled together a listing of the top cheat sheets that he's found out there relating to PHP (and things surrounding it) like:
this one from blueshoes.org
a sheet covering filtering and escaping
a Smarty cheat sheet
a few covering WordPress
and ones covering CakePHP and Drupal
Check out his page for more (and thumbnails for each).
The folks over at php|architect have consolidated their community efforts (news, the podcast and their forums) all under one new website the C7Y PHP Community Website.
Welcome to the new community site. We've still got a bit of finishing work to do, but I think everyone would agree that this is much better than the old site! Let us know what you think.
Rather than having their community efforts spread out over their current site, they decided on on centralized resource where people can get the latest news, check out the latest podcast and interact with fellow PHPers out there on the web.
Be sure to check it out for yourself and let them know what you think.
The highly controversial GoPHP5 project has come to his finishing mark (actually February 5th) and has been claimed a success by Robert Douglass, one of the creators of the project:
Congratulations are in order. Since the launch of GoPHP5.org, over 100 software projects and over 200 web hosts have come on board to support the adoption of PHP 5.2. As opposed to just a few months ago, it is now easy to find a hosting solution that supports PHP 5, and software developers can turn to the attractive new features that PHP 5 offers without the need to worry that they are leaving their end users without options.
He gives credits to Larry Garfield and Marc Delisle for their hard work towards making the project a success and notes that the project can stand as a successful effort that the community pulled together on to make development and the platforms we build on that much better. Be sure and check out the long list of projects and hosting companies that made the move to PHP5.
A different sort of abstraction layer project has been started up and has already seen a few releases Forage. As mentioned on Rob Young's blog:
Recently I've been working on a search abstraction library for PHP called Forage. The idea is to bring to search what we've had for relational databases for quite a while, abstraction.
On Friday I put up a preview release with three backends; Solr, Xapian and Zend Search Lucene. At the moment it has the bare minimum of features but there will be more soon. In this post I'm going to talk a little about the motivation for the project and then walk through a short example.
He talks about the need for search abstraction (integration and resilience to change) before getting into an example of some code that grabs the data from an RSS feed, passes it in to the Xapian search engine and stores it before looking it over for thier search terms (yahoo microsoft).
You can download the library if you'd like to try it out for yourself.
Since he didn't come across any issues or bug reports, Richard Heyes has officially released his SMTP class for PHP5 as out of public beta and ready for production use.
I've not added any new features to the class; I've simply updated it to be, well, better. Plus it uses PHP5's object model better. It's really just an update, ie if you're using the old version and it works, then you have no real reason to update it.
You can check out the source here and an example of it in action here.
In one of his latest entries, Sebastian Bergmann answers a question from another blogger about the future of software metrics and project mess detection as a part of the PHPUnit project.
When I started to work on these projects, there was no other place for me then to develop them as part of PHPUnit. [...] But the more I thought about it, I realized that these features do not belong into PHPUnit but into a suite of tools that PHPUnit is a wellintegrated part of.
He did, however, include it as a part of the PHPUnit 3.2 release at that time. Now, however, there are the tools and platforms to make those tests useful outside of the PHPUnit environment and is allowing him to move it out from the testing application and on to closer integration with other software.
Padraic Brady has officially proposed a new component for the Zend Framework one to handle the various microformat methods that have been gaining in popularity.
I've proposed Zend_Microformat on the ZF Proposal Wiki at Zend_Microformat Padraic Brady. I've also started a proposal page for Zend_Microformat_Xfn.
He briefly explains what they are (a collection of data encodings) and an example of their use (like the XHTML Friends Network to link social network users). You can find out more about them here.
Popular posts from PHPDeveloper.org for the past week:PHPClasses.org: A PHP killer feature Streams abstractionRob Thompson's Blog: Switch vs. IfPHPEverywhere: Octopussy numbers in PHPJob Posting: MODE Visual Seeks PHP Developer (Charlotte, NC)ProDevTips.com: Why PHP as a templating language sucksMatthew Turland's Blog: The Yin and Yang of TypingStubbles Blog: Stubbles 0.5.0 releasedChristopher Jones' Blog: Updated connection pooling in PHP's OCI8 extensionBen Ramsey's Blog: Congrats Costa Rica PHP!Carsten Lucke's Blog: Configuration issues with Xdebug on Debian Etch
Luke Welling reminds WordPress users that they need to update their installations to help keep them safe from a recent security issue that has come up.
If you have a WordPress blog it would be worth your time to install this update to 2.3.3, or at least replace xmlrpc.php. This is being actively exploited.
You can find out more about the exploit here on the WordPress website (including another issue with the WP_Forum plugin as well).