<pedrocorreia.net ⁄>
 

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




clicks: 3002 3002 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: 16867 16867 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: 16674 16674 2012-05-13 2012-05-13 goto url (new window) https://gist.gi... 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: 16465 16465 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: 16850 16850 2012-05-12 2012-05-12 goto url (new window) code.google.com... 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: 27527 27527 2012-05-12 2012-05-12 goto url (new window) websanova.com/t... 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: 16124 16124 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: 16809 16809 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: 15794 15794 2012-05-10 2012-05-10 goto url (new window) smashingapps.co... goto myNews programacao