<pedrocorreia.net ⁄>
 

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




clicks: 2528 2528 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: 15512 15512 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: 15298 15298 2012-05-13 2012-05-13 goto url (new window) https://gist.gi... goto myNews programacao


Android Query new ...

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

clicks: 15533 15533 2012-05-12 2012-05-12 goto url (new window) code.google.com... 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: 14978 14978 2012-05-12 2012-05-12 goto url (new window) net.tutsplus.co... 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: 26020 26020 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: 14747 14747 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: 15417 15417 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: 14556 14556 2012-05-10 2012-05-10 goto url (new window) smashingapps.co... goto myNews programacao