FAQ
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

Search Discussions

  • Philipp Keweloh at Nov 12, 2009 at 2:57 pm
    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
    <martinscotta@gmail.com>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
  • Martin Scotta at Nov 12, 2009 at 3:07 pm
    Si, el proyecto esta abierto a se quien se quiera sumar.
    Aun no tenemos sitio ni nada, estamos empezando con el mismo.

    Si bien tenemos algo de codigo preferimos no "ensuciarnos" con detalles de
    implementacion todavia, estamos definiendo los estándares bajo los cuales
    vamos a diseñar el API.

    La idea es sumar esfuerzos entre todos y lograr generar un API que te
    permita reutilizar componentes (tuyos o de terceros) con minimos
    requerimientos, tanto de PHP como del environment donde ejecutes.

    No queremos armar un "framework" la idea es que sea lo mas liviano y
    desacoplado posible, aunque si queremos retomar todo el camino recorrido por
    los distintos desarrollos (incluidos los frameworks) para no terminar
    reinventando la rueda.

    Saludos,
    Mrtn

    2009/11/12 Philipp Keweloh <skunk1@gmail.com>
    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 <martinscotta@gmail.com>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

    --
    Martin Scotta

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedNov 12, '09 at 1:15p
activeNov 12, '09 at 3:07p
posts3
users2
websitephp.net

2 users in discussion

Martin Scotta: 2 posts Philipp Keweloh: 1 post

People

Translate

site design / logo © 2022 Grokbase