PAT :: a programmer's best friend |
Wednesday, February 25. 2009patTemplate bits and pieces
Well, the code base of patTemplate is pretty majure and new releases quite seldom. Still patTemplate is alive and in heavy use. Working with patTemplate in larger projects always includes writing custom extensions like variable modifier and template functions for it. Every now and then, modules for general use appear and I usually add them to patTemplate's code base. This way patTemplate grows little by little, even if it's core stays the same.
Here are some variable modifiers that were recently added: Calc (like a pocket calculator), Dateformat, Numberformat, Sizeformat (displays human readable file sizes) and Truncate (makes verbose text brief). This week Torben Egmose provided a template caching driver based on famous Memcache. Now there are five cache backend modules available: File, eAccelerator, Memcache, MMCache and XCache. As mentioned above, there are no major changes, but as usual, it those little bits and pieces that make life enjoyable. Saturday, July 19. 2008patError 1.2.0 released
After a year of inactivity in our blog, there are finally some news worth mentioning. Some minutes ago, I release version 1.2.0 of patError. Although this release contains no new features, it might be interesting for any of you using patError, as I adjusted the code to PHP 5. When using this new version, you will get not E_NOTICE or E_STRICT warnings any more as it has been the case with previous releases. There will also be no E_DEPRECATED errors, when you make the switch to PHP 5.3.0. As usual, you can get the release from our PEAR channel.
I decided to port patError to PHP 5 while writing the second edition of my PHP Design Patterns book, which covers patError as a depency of patTemplate. Wednesday, June 20. 2007Testing FIT
I just uploaded the package Testing_FIT to PEAR. Testing_FIT is the PHP and pearish version of Ward Cunningham's FIT http://fit.c2.com/. As such it provides an easy to use framework for acceptance software tests.
pear install Testing_FIT-beta Simply install the PEAR package Testing_FIT browse the examples and write your own test classes. Of course, the PHP version of FIT provides the four basic fixtures: Action-, Column-, Row- and Primitve-Fixture. Also there is a Summary-Fixture that shows some statistics. You'll see, writing tests with this PEAR package is a piece of cake. Besides, the basic idea of FIT - using HTML documents providing test data will convince you. Monday, June 18. 2007I18n and such
In lack of a better idea, I founded a new PAT Package: patI18n. So far this package is just a draft and only exists in the SVN repository. As you might guess, patI18n is an abstraction layer for translating issues. Therefore it provides nearly the same interface as the famous GNU Gettext. Still, the actual translation is done by a chain of modules - this way everything is possible and the design stays open to new ideas.
Of course, I didn't start patI18n out of the blue. Last year, I branched patForms to use Gettext for translation instead of the proprietary internal solution. Since then, we have to maintain two branches of patForms. Yesterday I mended the implementation of patForms' gettext branch to use patI18n. This way patForms got rid of all I18n functions (like setLocle) and stuff. My first tests show that everything works fine - still this code is experimental. However you are invited to check out the new versions and give it a go. Download the sources from our subversion server: patI18n: svn co http://www.php-tools.net/svn/patI18n/trunk/ patI18n patForms: svn co http://www.php-tools.net/svn/patForms/branches/gettext/ patForms View the source code of patI18n at gERD's playground. Saturday, June 2. 2007patTemplate 3.1.0 stable released
After two years of development we finally released patTemplate 3.1.0 as a stable version. The changes since the last beta release are minimal. You can read about all changes since the last stable release in the changelog. patTemplate can be downloaded from our PEAR channel server or easily installed via the PEAR installer:
$ pear channel-discover pear.php-tools.netMore information can be found the the patTemplate development site. Thursday, February 1. 2007patTemplate Documentation in Bahasa Indonesia
We are vary proud to hear that there are patTemplate enthusiasts around the world. Actually, we just learned thet there is a patTemplate Documentation in Bahasa Indonesia available. Thanks a lot for translation!
Tuesday, October 17. 2006FIT for PHPFIT stands for Framework for Integrated Test (See: FIT Wiki) realices acceptance tests with heavy use of HTML documents. Those documents do not just contain the usual blah-blah but hard facts. The factsare actually stored in (HTML) tables. This is where FIT - respectively PHPFIT - comes in. The FIT knows which testing class must be executed for a particular table and which function to call to calculate the results of a specific cell and the framework makes it very easy for you to implement concrete test-classes. Also FIT simply handles HTML documents. As such they can be viewed a common browsers and even created with Word-a-like editors. Hence FIT goes far beyond what traditional unit testing offers (FIT is not meant to replace unit-tests) and may enrich your next project. Hopefully PHPFIT will be available as official PEAR package. Unfortunately I lost my password. So I was not capable to push the proposal any further Tuesday, September 5. 2006XJConf for PHPIf you want to give XJConf For PHP a try, you can get it via our PEAR channel or from SVN at http://svn.xjconf.net/XJConfForPHP/. The fantastic XJConf logo has been developed and designed by Georg Rothweiler. Sunday, August 20. 2006New releases of patTemplate and patForms
After I finally finished my book (and my contribution to Exploring PHP) I finally have enough time to work on all of my open source projects again and today made two new releases. patTemplate 3.1.0b1 contains tons of changes since the last stable version. Most of the features that users have been requesting for years have been incorporated into this release, like the possibility to read templates from a database:
It is now also possible to use any PHP function or method as a default value for a variable which allows you to prefill a value with the current timestamp. Furthermore I have been putting a lot of work into the new patTemplate manual.patForms 0.9.0b3 mostly contains bugfixes and provides several install-groups for the PEAR installer, which allow you to choose your form renderer when installing patForms. This will hopefully be one of the last beta version for patForms 0.9.0 as we plan to release a stable version during the next 4-6 weeks. Both packages can easily be installed using of PEAR channel server at pear.php-tools.net. Creating PEAR-installable nightly builds
If you incorporate a "release early, release often" policy for your projects, it helps you to detect bugs in an early development stage of your application. In many cases making a release takes some time and you do not release new versions as often as you intended. We had these problems with our projects over at www.php-tools.net. That's why we created snaps.php-tools.net, a site where you can download nightly builds of our projects as ZIP, TAR.GZ or TAR.BZ2 archive. This saves the users, who want to test the latest development versions the hassle checking out the latest version from our subversion repository. The problem of this technique was, that most users use the PEAR installer to deploy our packages and if they downloaded a ZIP file, it's not possible to use the PEAR installer on this file. That's why we came up with a solution to create nightly builds that are installable with the PEAR installer. Read on, if you are interested in how this can be achieved...
Continue reading "Creating PEAR-installable nightly builds" Monday, January 3. 2005HTTP_SessionServer 0.4.0 available
I just released a new version of HTTP_SessionServer, a daemon that is able to store key value pairs and communicates with any kind of client using a simple protocol.
Besides some cosmetic changes, this release features a new backend contributed by Carsten Lucke, which stores session data in a database using the DB abstraction layer. If you'd like to learn more about how HTTP_SessionServer works, you can take a look at the presentation I did at the International PHP Conference in Frankfurt. Wednesday, March 3. 2004CVS repository gets alive
Currently the pat-team works hard to refill the CVS repository. After the whole project moved to the new server, we got "root"-permissions for the entire system. Now there are many giga bytes on the brand new harddisk to be filled with PHP-stuff.
Besides the new subdomain, you can find some new packages in our CVS-repository at cvs.php-tools.net. Tuesday, February 24. 2004To bug or not to bug...
Today I installed BugZilla on our server. We will use this tool to track all bugs for all of our projects. The current installation may frighten users that are not familiar with BugZilla, we will be working on the user interface during the next days/weeks.
If you want to report a bug for our tools, just visit bugs.php-tools.net. Sunday, February 22. 2004Whuff! PAT started blogging
Our friendly little dog finally takes part in the new hype and starts his own blog. With the help of his favourite programmers argh, gERD and schst, he will inform you what's going on in his life and the PHP Application Tools Team.
BTW: This blog is powered by the great s9y blog. |
php_network_getaddresses: getaddrinfo failed: Name or service not knownphp_network_getaddresses: getaddrinfo failed: Name or service not known |