|
Company
Sapphire Technologies
Location
New York, NY
Title
LAMP Developer
Summary
We are seeking a candidate who is skilled in LAMP (Linux, Apache, MySQL and PHP). Someone who is confident about building and extending the backend of a personalization platform for a site with an unparalleled combination of scale and complexity that receives a million hits a day. You must have extensive experience programming in a UNIX/Linux environment. You are a self starter who will pick up programming tasks and run with them, collaborating in a team environment with buyin, checkpoints and testing.
Contact Anthony A. Blewett (anthony [dot] blewett [at] sapphire [dot] com ) for more information.
Link
More Information
|
|
|
Felix Geisendorfer has a great functionality note that CakePHP users might want to check out. It's related to the Set class and how it handles nested arrays.
So far this has been a little dark spot for me in the core and from my previous quick looks at the class I've never been quite able to figure out what it's exact purpose was. Until now all I knew was well it's probably some fancy array manipulation code that is somewhat obfuscated and undocumented. Oh boy, I wish I had spent more time on this earlier. It's probably one of coolest new features in 1.2 and nobody realizes it.
He starts with a simple example of how the class works with a nested array of user information. Normally, you'd loop through the array and append the values you'd need to another array (like the user's name), but with Set, it's as simple as calling the static extract method with the path to what you want out of the array. A simple oneline replacement for a (normally) three to four line bit of code.
He gives a few other examples using this same user information, grabbing various results and includes one at the end that is very nice indeed pulling in an XML document, running it through a simple xmltoArray function and pulling out the titles in a few easy lines.
|
|
|
PierreAlain Joye has a little reminder posted to his blog today about two posts from planetdebian and Apache that refer to clones/references in PHP4 and PHP5 and some of the misconceptions presented there.
Reading planetdebian and Apache (from Sven and David), I catched two posts about clones and references in php4 and php5. I do not think it is worth to explain again everything here as Sara wrote a very good post already, check it out here.
He mentions his annoyance with articles/posts like these and the impact that it has on PHP as well as the person posting.
I wonder when the OS community in general will be mature enough to stop bitching at each other. And that's valid for PHP developers, gnomekde and other well established wars.
|
|
|
http://www.phpdeveloper.org/form/view/type/addnews
PHPDeveloper.org: PHP News, Views, and Community
In a new post Paul Jones points out some of the new behaviors that the extension is showing in the latest of the PHP 5 seres (version 5.2).
He starts with a code example that would work with a previous version of PHP/PDO that would allow for the binding of a single value to multiple places in the SQL statement. But:
Sadly, this is no longer the case in PHP 5.2.1. For valid reasons of security and stability in memory handling, as noted to me by Wez Furlong, the above behavior is no longer supported. That is, you cannot bind a single parameter or value to multiple identical placeholders in a statement. If you try it, PDO will throw an exception or raise an error, and will not execute the query. In short, you now need to match exactly the number of bound parameters or values with the number of placeholders.
Unfortunately, this is used quite often in Paul's Solar framework, so an update to the Solar_Sql_Adapter::query() method has had to been made to allow for the binding of multiple items automatically. It works by incrementing the bind location (like :foo) with numbers at the end simple and effective and you can still pass an array to it and have it automagically work.
|
|
|
On the Inside Open Source blog today, there's a quick hit post from Jason Gilmore for WordPress users out there using the WPCache and being frustrated by it's functionality during the development process.
I'm using WordPress to build out a blog for a new endeavor, and couldn't figure out why I had to go through a rather unwieldy refresh process (disabling a template and then enabling it anew) every time I changed it from within the WordPress administration interface.
It was the WPCaching mechanism that WordPress comes with that was causing the issue, so he tracked down where to disable it for the duration of the development time. (Options > WPCache > Disable It).
|
|
|
Latest PHPClasses.org Releases:NodeezMySQLList content of directoryPablosky MySQLRImageManipulatorMySQL PaginationHTTP LocaleMySQL DB Class with Data Manipulation Class TimeTaMeREasy PHP ValidationFiltreatmentImage to ASCII textKDoubleMetaphoneGeo Conversion |
|
|
DevShed charges right ahead with its emphasis on design patterns in PHP with a new start of a new series today that looks at the Flyweight pattern.
Among the considerable variety of structural design patterns that can be implemented with PHP 4 (and PHP 5, by the way), there's one in particular that deserves special attention. It's easy to apply in the context of a given web application, and it offers remarkable functionality when it comes to preventing the unnecessary instantiation of different classes. This twopart series covers that pattern.
As they explain, the Flyweight pattern helps to keep your code light and simple by preventing the instantiation of unneeded objects and resources. They go with a HTML form example, illustrating how to prevent a submit button or an input button's class to be reinitialized every time a new form field is needed.
|
|
|
On his blog today, Felix Geisendorfer has a release announcement posted for the latest version of Drake, and DrulapCakePHP hybrid, has been released (version 1.0.1b).
This is just a quick announcement that a completely new Drake has has been released by Mariano Iglesias. For those of you who don't remember: I used to have some fun with integrating CakePHP with other PHP applications around such as drupal which in term created a project called Drake. I only released a couple versions and by looking at Mariano documentation for Drakes none of them were as easy to set up.
You can more details on the project from its homepage on Sypad.com as well as the full documentation and downloads.
|
|
|
Always looking forward to the future of PHPUnit, Sebastian Bergmann has started gathering some ideas for future additions to the project:
I started to collect ideas for features that I would like to see in PHPUnit but currently lack the time to implement myself.
The two listed in this post are:
Mutation testing an approach where the testing tool makes some change to the tested code, runs the tests, and if the tests pass displays a message saying what it changed
Web Interface for Test Result Database output viewer for the database logging PHPUnit is now capable of.
Looking to help out? Let him know!
|
|
|
Manfred Weber has posted part two today of his look at sharing more complex objects between PHP and Flash. This time, he focuses on implementing the classes he'd created before.
This is part 2 of my SOAP series. In the 1. part I started with a basic example of creating a simple PHP Soap Server with the PEAR package Services_Webservice. In this part I will share complex objects between PHP and Flash.
Using the Bookstore application he created before, he shows how to call the web service from Flash to grab the information and import the data where a sendAndLoad function call in ActionScript can do the rest.
|
|
|
Alexander Netkachev has a quick announcement for users of the Zend Framework posted to his blog today:
This week we have a few important news from ZF team. First, the 0.8.0 release is ready and, as usual, you can download it from Zend's site. [...] Thanks to Vanne, we now have PDF version of Zend Framework documentation
He also mentions another guide aimed at helping you bring your Zend Framework application up to date (with the newer versions of the Zend_Controller.
|
|
|
Those that didn't get a chance to check out this year's PHP UK Conference can get a little taste of what it was like from Rob Allen's perspective in his latest blog post today.
Included in the happenings he mentions were the talk that Cal Evans of the Zend Developer Zone gave on mashups, Kevin Henney's look at Object Orientation, and Rasmus Lerdorf's look at PHP5 performance/security. He also mentions meeting up with Dagfinn Reiersol (author of PHP in Action) to talk shop a bit about writing books.
You can check out all of the details about the conference that was over on their website including summaries of the talks that were given during this jampacked one day event.
|
|
|
Latest PEAR Releases:pearweb 1.5.1Net_UserAgent_Mobile 0.30.0MDB2_Schema 0.7.1pearweb 1.6.1pearweb 1.6.0pearweb 1.6.2Structures_DataGrid_Renderer_Flexy 0.1.1pearweb 1.6.3pearweb 1.7.0Net_MPD 1.0.1Net_LDAP 0.7.1Services_Technorati 2.0.0alpha1Math_Derivative 1.0.0RC1pearweb 1.8.0Structures_LinkedList 0.1.3File_MARC 0.1.2Net_MAC 0.1.2Net_CDDB 0.3.0 |
|
|
The IBM developerWorks website has posted the first part of a series looking at boosting the performance and throughput of your PHP applications through an opcode caching software, specifically XCache.
PHP is a scripting language most often used to create Web applications. It's easy to learn and produces visible results quickly. However, because PHP is interpreted, PHP code is parsed and translated to opcodes every time it executes. An opcode cache eliminates that rework, making PHP applications faster.
They start with the installation of the software (just XCache, they assume everything else is installed) and what to edit in the php.ini file to get things up and running. They follow this up with a sample benchmark for a local phpmyadmin installation.
|
|
|
Security is becoming a more and more popular topic among PHP developers, and Joseph Crawford has followed the trend and written up his own look at the way PHP handles session and session information as it relates to the security for both the user and the server admin.
One aspect that I dislike about the internal PHP sessions is that they are stored in files on the hard disk (usually /tmp/) by default. This means anyone with access to the machine has access to read the session data. I prefer to store my session information in the database to add an extra layer of security.
He looks at the pitfalls of using this kind of setup (among them, multiple users being able to use one IP) and a simple method for creating a custom sessions handler to replace PHP's builtin one. His example works with a local database to handle saving and retrieving the session information. And, to make things unique, he generates a fingerprint key for each user's information to serve as a unique identifier rather than handling it on the connection.
|
|
|
CodeGear (from Borland) has officially announced the release of Delphi for PHP, a new rapid application development environment for a more visual approach to PHP development.
Many web developers today use PHP to develop portal frameworks, forums, and web applications because PHP allows them to create dynamic web applications with solid database connectivity. However, PHP web development has been stymied by the lack of a powerful RAD visual development environment. The existence of an active and vital open source PHP ecosystem with myriad of open source components and options makes the need for an integrated RAD development environment even more critical.
You can check out this new software and all of its features on the CodeGear website.
|
|
|
On the Builder.com.au website today, there's a quick new tutorial on grabbing the correct time for a user's home rather than the server's time.
PHP comes with an extensive catalog of date and time functions, all designed to let you easily retrieve temporal information, massage it into a format you require, and either use it in a calculation or display it to the user. However, if you'd like to do something more complicated, things get much, much hairier
To make things easier, they enlist the service of the PEAR Date package to help bridge the gap between the time zones faster. They give some of the basics of using the package before actually getting into the time zone conversion. The code is pretty straightforward and they even include other simple tips like how to calculate the GMT offset and how to add and subtract timespans.
|
|
|
According to this new post on DynamicWebPges.de and a message from Derick Rethans on the php.internals mailing list, there's an issue with PHP 4.4.5 where sessions are causing segfaults when register_globals is set to On.
As per Derick:
Because of this I'd like to release a 4.4.6 soon with this fixes. As
there is also an upgrade to pcre 7.0 we'd need at least one RC, which I
plan to release on Thursday.
Users of the PHP 4.4.x series should keep watch for this new update to correct the issue quickly.
|
|
|
Greg Beaver has announced an official referendum on the future of PEAR that he has set in motion to get PEAR developers voting on proposals for where PEAR should be going.
As of February 22, 2007, I have called an official referendum on the future of PEAR. There is a news item on the front page of pear.php.net with the same instructions in this message. This election is only open to PEAR developers who have contributed to the development of a PEAR package at any time in history, but you must have the ability to log in at pear.php.net, and must have pear.dev karma.
There's three options don't change anything, Greg's constitution, or Anant Narayanan's constitution. The results will pick the path that PEAR will follow and the future of the project. If you have access and the pear.dev karma, head over here and cast your vote today.
|
|
|
Daniel Krook has announced the latest release from the CakePHP framework team the new DB2 driver (alpha version) he submitted.
The CakePHP team has included the ibm_db2 driver that I submitted in the latest 1.2 development branch. I've sent out a call for alpha testers to put it through its paces.
If you'd like to help out and test it yourself, check out his post for instructions on grabbing the sample application, setting up the database, and what to change on the CakePHP configuration to get started.
|
|