Convenio de uso de parametros con nombre

Registered by Emilio Silveira

Actualmente los parametros con nombre se han usado de una manera que no es la adecuada.

Es sabido que dentro de los helpers en vez de usar los argumentos fijos de la funcion, se utiliza $params[0], en vez de $name. Esto conduce a que el codigo sea críptico.

Para solventar esto, se propone el siguiente convenio:
Los argumentos fijos de una funcion se han de respetar, los parametros con nombre se utilizarán de manera complementaria.

Tanto Ruby como PHP no son lenguajes que soporten argumentos nombrados, recurriremos a una trampa que se utiliza en ruby.

En Ruby al final de los argumentos de una funcion se puede utilizar un array sin las {} para definirlo. De manera similar nosotros en PHP utilizaremos los parametros con nombre, respetando lo que serian los argumentos fijos de la funcion.

Ejemplo:
Ruby:
     text_field_tag('nombre', :value=>'pepito')

PHP:
     text_field_tag('nombre', 'value: pepito')

Asimismo, tambien lo ultimo que incluyamos puede ser un array

text_field_tag('nombre', array('value' => 'pepito'))

La funcion seria:
function text_field_tag($name, $params=array()){
    if($params && !is_array($params))
        $params = get_params(func_get_args());

    ....
}

Blueprint information

Status:
Not started
Approver:
None
Priority:
Essential
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Approved
Series goal:
Accepted for 0.6-trunk
Implementation:
Not started
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.