Latest PEAR Releases:
Monday, November 21st 2011, 09:20 GMT
A while ago, Fabien asked me to have a look at porting one of Twig's slowest methods, TwigTemplate::getAttribute(), into a PHP extension. It is a complex method that does a lot of different checks and look-ups. Fabien's benchmarks showed that this method was responsible for quite a large amount of time. On top of that, it didn't seem that it could be optimised any further as PHP code itself. Seeing that it was very likely that this method...
By now, most if not all of us have seen the graphic images from UC Davis, where students were pepper sprayed at point blank range by two officers of the campus police force. These images have become more and more commonplace in our society, which is quite sad. The news seems more and more consistently [...]
Jan Bodnar has pointed out a great PHP-GTK tutorial on ZetaCode.com that walks you through some of the major points of this graphical frontend for PHP:This tutorial will teach you the basics of GUI programming with the PHP GTK. The tutorial has 8 chapters which cover the first steps with the library, menus, toolbars, dialogs and various widgets. It has some examples for drawing with Cairo library. The final chapter presents a small computer game; The Nibbles.Each of the topics has sample code and...
Henrik Bjørnskov has a quick new post today showing how to combine two powerful technologies into a simple, configurable autoload system in a Symfony Travis-CI build with Composer.To integrate your project with travis the only thing necesarry is to have a .travis.yml file and a working PHPUnit test setup like http://github.com/simplethings/SimpleThingsFormExtraBundle. Where the Tests/vendors.php script is executed before the tests are perfomed. But it would be way cooler to just have Composer handle the...
In this new post to his blog, Johannes Schlüter looks at a high-performance solution to the usual storing PHP session information via a memcache frontend with a MySQL Cluster backend.Unfortunately even such a system [using MySQL and InnoDB tables] has limits and unfortunately replication is no good solution here to scale further as we will always need a master for writing the updated session data. By using replication we can take some load from it and we can configure a slave which can be promoted to...
On DevShed today there's a new tutorial showing you how to build a basic ORM layer on top of a MySQL database. It includes all the code you'll need (cut&paste-able, not as a download).Obviously, with so many ORMs at one's disposal for free, it seems pretty pointless to develop a custom one; are we trying to reinvent the wheel? No, of course not. But if you need to create a simple application that performs a few CRUD operations on some related domain objects and don't want to climb the learning curve of a...
On DZone.com there's a new post from Giorgio Sironi looking at how to automate a build of a virtual server with Vagrant, setting up a LAMP-based development instance.Vagrant ia a tool for building virtual machines (in VirtualBox's format) that conforms to a specification. It's written in Ruby, but it makes really no assumptions over the environments that you're gonna build; in this article, we will setup a virtual server for PHP applications running inside Apache.The end result is a virtual machine based...
Popular posts from PHPDeveloper.org for the past week:PHPMaster.com: PHP Master: Writing Cutting-Edge Code
php|architect: Finding Exactly Where You Are
PHPBuilder.com: Building RESTful Web Services with the Zend Framework
Community News: Zend Framework 2 Development - CLA Not Required!
PHP.net: PHP 5.4 RC 1 Released
Learncomputer.com: PHP Profilers Compared (PHP Quick Profiler & XDebug)
Court Ewing's Blog: Follow-up: How PHP is Broken and How It Can Be Fixed
Robert Basic's Blog: Benchmarking pages behind...
In the past few days, the alarm has been sounded in the technology community for us to help defeat the Stop Online Piracy Act (SOPA). This legislation, while well-intentioned, is crafted in such a way that it would give private companies the power to shut down other private companies, and require the government and Internet [...]
As is mentioned on Michelangelo van Dam's blog, the PHPBenelux conference for 2012 has been announced and tickets are now on sale.The PHPBenelux team only announced the names of tutorial speakers, but with names like Ivo Jansch, Torsten Rhinne, Fabien Potencier and Matthew Weier O'Phinney you know it's going to rock! And that's tutorials only. It's all happening on January 27 and 28, so make sure you block those days in your calendar, because the center of Europe is going to buzz PHP like it never had...
In a new post to his blog Sameer Borate shows how to create a lexer and parser in PHP to work directly with the tokens of a PHP script.After looking around for a while [for a good resource on compilers] I settled for Terence Parr's Language Implementation Patterns. This is exactly what I needed - bit sized patterns on compiler and parser design with working code. The book provides a recipe style approach, gradually moving from simple to complex compiler/parser design issues. As I primarily work with PHP,...
On PHPMaster.com today there's a new introductory tutorial for those trying to figure out sessions in PHP. Sessions can be one of the most powerful tools at your disposal and handling them correctly can sometimes be a little tricky.$_SESSION is a special array used to store information across the page requests a user makes during his visit to your website or web application. The most fundamental way to explain what a sessions is like is to imagine the following scenario: You are working with an...
On the Symfony Blog today they have an update on their latest community offering, SensioLabs Connect, a service connecting Symfony developers all around the world. It's been one week since the release and there's already some changes happening.To celebrate our 1000th user on SensioLabs Connect in a week, we have just rolled out a new version that takes into account some of the feedback we had from the community after the launch.Changes include updates to use Gravatar images if you choose not to upload a...
One of the great things about the HTTP protocol, besides status code 418, is that it's stateless. A web server therefore is not required to store any information on the user or allocate resources for a user after the individual request is done. By that a single web server can handle many many many different users easily, and well if it can't anymore one can add a new server, put a simple load balancer in front and scale out. Each of those web servers then handles its requests without the need for...
On SitePoint today there's a new post from Eran Galperin (of Binpress) about how, if you're jumping immediately to custom software development, you're probably doing it wrong.Code reuse is largely accepted as "best practice" in our industry. Code reuse has many advantages, such as a smaller code-base which is easier to grok for developers. It's easier to maintain and optimize, since you can make less changes in order to achieve the desired results. Many modern techniques and tools were created in order...
Here's what was popular in the PHP community one year ago today:Kevin Schroeder' Blog: Getting good PHP programmers
SitePoint PHP Blog: Top 10 MySQL Mistakes Made by PHP Developers
phpRiot.com: Using Callback Functions in PHP
PHPBuilder.com: 10 Productive PHP Tools for Testing and Debugging
Artur Ejsmont's Blog: HTTP response splitting and mail headers splitting attacks
Wes Ray's Blog: Configuring Fedora 12 PHP/MySQL Server with Nginx and reverse proxy to Apache
Wade Arnold's Blog: Scala is easier than...
I had fun at OWASP Manchester, my talk went really well. Getting more confidence with talks now I think. I have a tendency to rush through and get ahead slightly sometimes but overall I did much better and had some great feedback along with some very interesting questions. Enjoy the slides!
The Italian PHP user group GrUSP is pleased to
announce the 9th edition of the Italian phpDay conference, taking place
on May 18th and 19th, 2012 in Verona. We will show new development
traits, best-practices and success cases related to quality, revision
control, test-driven development, continuous integration and so on.
There are also talks about design, project management, agile and various
phpDay is the first historic Italian conference dedicated solely to PHP...
The catchy theme/motto of the PECL/mysqlnd_ms 1.2 release will be Global Transaction ID support. Hidden behind the buzzword are two features. We will allow users to request a certain level of service from the replication cluster (keyword: consistency) and we will do basic global transaction ID injection to help with master failover. Failover refers to the procedure of electing a new master in case of a master failure.
Global Transaction ID support is the 1.2 motto/theme
The two features are somewhat...