December 10, 2010

ext4yii
The Ext4Yii Framework is a professional PHP Yii extension which provides server-side ExtJS functionality. It is a template parsing system, capable of rendering embedded XML templates into ExtJS JavaScript components. Among many additions and improvements, the Ext4Yii Framework version 0.7 provides the functionality to use customized ExtJS components and the ability to assign implied JavaScript values in Ext4Yii templates.

Verison 0.7 is the second release of the framework, which has been internally re-written for better performance, error handling and template parsing. Below a short list of new features :

* Implied JavaScript Notation : which can be used to instruct the template parser to render inline JavaScript values.
* Context Menus : easily create context menus for virtually every component in the Ext4Yii Framework.
* Customized and 3rd party controls
* Other additions : several plugins for the TabPanel control, GridRowExpanderColumn model for the GridPanel, and mong many other additions...

As for this release, Ext4yii will not be available under GPL anymore, however only commercial and evaluation license are available. More information at http://www.ext4yii.com/site/index.html

November 5, 2010

Jade is originally a template engine for NodeJS, now available for PHP also. Jade.php is a high performance template compiler heavily influenced by Haml and implemented for PHP 5.3.

jadephp

Key features include :

  • high performance parser
  • great readability
  • contextual error reporting at compile & run time
  • html 5 mode (using the !!! 5 doctype)
  • combine dynamic and static tag classes
  • no tag prefix
  • clear & beautiful HTML output
  • filters :php :cdata :css and :javascript, and you can add your own filters too.

Jade.php got already extension for TextMate, VIM and Symfony2. I guess Symfony users will be very familiar with the YAML-inspired templates engine more than anybody else.

More info at http://everzet.com/jade.php/ sources on github, released under an Open Source license.

September 21, 2010

Emission framework
Vitche Emission PHP Framework is a non-commercial Open Source lightweight PHP Framework. The key idea of that framework is to use central repository for keeping source code and providing all client software with an ability to do real-time source code updates. That makes the client free from the need to keeps the framework's source code.

The following features are supported in the Emission Framework:

- ORM for database access;
- SOAP client;
- REST web service;
- SOAP-to-REST gateway web service;
- ICQ client;
- WordPress content client;
- SiteMap content client;
- Caching;
- GrossCommerce SOAP client;
- Some UI components.

The source code is available under the LGPL license at: http://emission-framework.com

September 13, 2010

Many developers building web applications accessing databases can’t imagine their work without using ORM framework, but as much as the ORM frameworks ease the development and make the code easier to read they can also take lots of time setting up. Some of the best ORM frameworks in PHP are Doctrine, Propel and CakePHP. All these frameworks are based around database and ORM definitions written by the developer. This gives the developer more freedom to optimize how the ORM framework works with the database but it also means yet another code to maintain. ORM Designer is a new software which helps developers with the tasks related to creating and maintaining ORM definitions.

Symfony Jobeet Doctrine

What is ORM Designer ?

If you see ORM Designer for the first time, you might think it’s another ERD modelling tool. Once you have a second look you’ll realize there is much more to the ORM Designer and ERD modelling is just on of many tools which haven’t been seen in any other software before and which makes ORM Designer unique. Let’s have a look what does ORM Designer offer beside visual modelling. One of the core features is sophisticated import/export features from and into ORM frameworks, MySQL Workbench or fabForce DBDesigner. This is very helpful when using ORM Designer on existing project. Currently supported ORM frameworks are Doctrine, Doctrine 2, Propel and CakePHP but more should come in near future. Authors promise to support any ORM framework which could provide cooperation when implementing ORM definitions.

Continue reading "ORM Designer Reviewed" »

July 23, 2010

elephpant_elroubio
Today the latest version in the 5.2 released 5.2.14 focus on improving the stability with over 60 bugs fixes, including security fixes. This release marks the end of the active support for PHP 5.2. Following this release the PHP 5.2 series will receive no further active bug maintenance. Security fixes for PHP 5.2 might be published on a case by cases basis. All users of PHP 5.2 are encouraged to upgrade to PHP 5.3.

On the 5.3 branch, the 5.3.3 released with over 100 bug fixes, some of which are security related. All users are encouraged to upgrade to this release. There is a backwards incompatible change between 5.3.2 and 5.3.3 in namespaces : Methods with the same name as the last element of a namespaced class name will no longer be treated as constructor. This change doesn't affect non-namespaced classes.

Continue reading "PHP 5.2.14 and 5.3.3 Released" »

February 23, 2010

It is often tempting to skip unit testing for ad-hoc testing. However when done in the appropriate amount unit testing will increase productivity and reliability. It is also a great diagnostic tool. Unit testing is a skill that can get you to the next level as a programmer as well as an organization. It takes discipline and when done in the right amount you should be able to reap the benefits in weeks.

In this article, I will show simple examples on how to move your ad-hoc tests to test classes. The examples use the RawDev framework which makes unit testing as easy as it can possibly be. I will cover what a unit test is, how to create tests and a tool to execute the tests. I will also talk about some of the pitfalls and how to get around them.

What is a unit test?

Since virtually all code resides in functions, RawDev uses the following definition:

RawDev defines a unit test as a single test of the output of a function call, given specific input. Part of a test is also the verification of object and global state changes.

The above diagram shows all the relationships to a function that is unit tested. The terms in the diagram are described below:

unit-testing

Continue reading "It Is Not Whether You Should Unit Test But How Much" »