Re: [PHP-ES] [PHP] Compartiendo
[email protected] (Philipp Keweloh)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <[email protected]> |
Hola Martin, Me parece una idea genial, ¿y en este proyecto podrán participar todos aquellos que deseen colaborar? ¿Existe algún recurso online para verlo con más detalle? Hay que demostrar que PHP es tan robusto como .NET o Java!!! Un saludo y buen trabajo! -- Philipp Keweloh "Mejor que levantar la voz, reforzar el argumento" George Herbert El 12 de noviembre de 2009 14:15, Martin Scotta <[email protected]>escribió: > Hola > > Estamos diagramando un WebAPI para PHP 5.2.x > La vamos a implementar sumando fuerzas entre 3 diferentes grupos de > programadores de diferentes empresas. > > Aca les mando el primer borrador que generamos. > La idea es simplemente compartirlo con ustedes. > > Saludos, > Mrtn > > -----* > > Version* > La version minima soportada sera 5.2.0 y siendo válido para cualquier > versión 5.2.x > Las mismas se mantendrán hasta la actualizacion de este estandard, > independientemente de los releases que PHP pueda proporcionar. > > *Dependencias* > Cada objeto deberá implementar los mecanismos necesarios para validar en > tiempo de ejecución la presencia/ausencia de los componentes necesarios > para > su normal funcionamiento. > Cada objeto deberá presentar una implementación mínima para una instalación > sin ningún componente / extensión extra. En caso de no poder realizarse > dicha implementación se deberá generar una Exception > > *Namespaces y Clases* > Todas las clases deberán pertenecer a un Namespace. > Se deberá incluir en el nombre de cada clases el namespace y package, > utilizando el guión bajo ( _ ) como separador. > > Tanto para nombre de Namespaces como para nombre de clases se utilizará > notacion CamelCase, a excepción de los acrónimos, los cuales serán escritos > en Mayusculas > > El formato es el siguiente: > Vendor_Package_Class > Vendor_Package_SubPackage_ > Class > Vendor_Package_Class_SubClass > PHP_MySQL_Class > > Las clases Abstract, Interfaces, como asi también clases derivadas de > Exception deberan contar con el correspondiente sufijo. > abstract class Example_Controller_ControllerActionAbstract > interface Test_Foo_BarInterface{} > class Other_Exception_NotSupportedException extends Exception{} > > *Archivos* > La ubicacion de los archivos será relativa a la ubicación del Namespace. El > archivo deberá poseer el mismo nombre (case-sensitive) que el nombre de la > clase, de manera que Test_Foo_Bar deberá estar en Test/Foo/Bar.php siendo > Test el directorio padre de todos los archivos y pudiendo éste estar en > cualquier ubicación. > > El uso de require, require_once, include, include_once se encuentra > prohibido. > Cada Namespace o Package podrá proporcionar un autoload para la tarea de la > carga de las clases. > Se proporcionará un autoloader generico para la carga los archivos > iniciales. Dicho autoloader debe encontrarse en > <Namespace>/<Namespace>.php > Solo dentro de dicho archivo será válido el uso de require/include. > > *Declaraciones* > Solo se permite declarar Clases o Interfaces. > No esta permitido el uso de variables globales o funciones de ningún tipo. > Se reserva el uso de las mismas para el uso de las aplicaciones > > > -- > Martin Scotta >