<pedrocorreia.net ⁄>
 

<PHP-Contracts: a design by contract library for PHP 5 ⁄ >




clicks: 2340 2340 2011-09-14 2011-09-14 goto programacao myNews programacao  Bookmark This Bookmark This


Noticing that PHP 5 is adding more higher-level functionality such as closures and knowing that it's a relatively unsafe language to work, I began to think of ways to improve the safety and security of PHP code. One way to do this is to use Design By Contract and I've created a new project as part of Higher Order PHP for that: PHP-Contracts. The library is licensed under the GNU Lesser General Public License so that you can use it as part of proprietary PHP 5 projects.

Contracts state what preconditions, postconditions and invariants exist for classes and methods. For example, a method that returns the result of adding two positive numbers together will have two preconditions (both parameters must be positive numbers), and one postcondition (the result must be a positive number) Contracts help us define what exactly a function should do and they make it difficult for us to add any code that shouldn't be there. It is true that PHP has added type-hints, but those don't go far enough.



este é só um excerto do artigo, para aceder ao artigo completo, clique no link em baixo:
this is just a small excerpt from the article, to access the full article please click in the link below:

http://neverfriday.com/?q=project/higher-order-php/php-contracts




Subscribe News RSS  Subscribe News Updates by E-mail





myNews <myNews show="rand" cat="programacao" ⁄>

RouterJs: easy routing for your ajax Web applications new ...

RouterJs is a simple router for your ajax web apps. It's build upon History.js which means that Rout (...)

clicks: 14983 14983 2012-05-14 2012-05-14 goto url (new window) haithembelhaj.g... goto myNews programacao


Backbone computed properties new ...

This gist shows one way to implement read- and write-enabled computed properties on a Backbone Model (...)

clicks: 14728 14728 2012-05-13 2012-05-13 goto url (new window) https://gist.gi... goto myNews programacao


HTML5 jQuery Paint Plugin new ...

Websanova Paint is a HTML5 canvas based jQuery plugin. It allows you to free paint on a canvas area (...)

clicks: 25373 25373 2012-05-12 2012-05-12 goto url (new window) websanova.com/t... goto myNews programacao


Create Instagram Filters With PHP new ...

In this tutorial, I'll demonstrate how to create vintage (just like Instagram does) photos with PHP (...)

clicks: 14429 14429 2012-05-12 2012-05-12 goto url (new window) net.tutsplus.co... goto myNews programacao


Android Query new ...

Android-Query (AQuery) is a light-weight library for doing asynchronous tasks and manipulating UI el (...)

clicks: 14986 14986 2012-05-12 2012-05-12 goto url (new window) code.google.com... goto myNews programacao


Sass vs. LESS vs. Stylus: Preprocessor Shootout new ...

CSS3 preprocessors are languages written for the sole purpose of adding cool, inventive features to (...)

clicks: 14203 14203 2012-05-11 2012-05-11 goto url (new window) net.tutsplus.co... goto myNews programacao


Real-time Applications With Node.js and Socket.IO new ...

Hey everyone! Sorry about the long pause since the last blog post, life has been quite hectic for th (...)

clicks: 14902 14902 2012-05-11 2012-05-11 goto url (new window) codingcookies.c... goto myNews programacao


15 Handpicked jQuery Drop Down Menus Tutorials new ...

Here we are presenting another brilliant collection of 15 jQuery navigation menu that you can downlo (...)

clicks: 14001 14001 2012-05-10 2012-05-10 goto url (new window) smashingapps.co... goto myNews programacao