2011-06-02 18 views
8

Estoy codificando smt en este momento, y estoy un poco molesto por el hecho de que PHP a veces llama a sus funciones con guion bajo, y a veces como una palabra. ¿Que pasa con eso?Convenciones de nomenclatura de PHP?

Ejemplo:

int strlen (string $ str)

y

in_array bool (aguja $ mixto, array $ pajar [, bool $ estricta = FALSE])

Espero que haya una buena razón para esto, y realmente me gustaría saber de qué se trata.

+0

Es esto una verdadera pregunta? Quiero decir, ¿podemos realmente saber sin entrar en una guerra? – Zirak

+0

Incluso tiene nombres de funciones como 'imagecreatefromgd2part' :) así como orden mixto de argumentos para funciones similares. – binaryLV

+4

Bienvenido al mundo de legado. No hay respuesta a esta pregunta, solo discursos y flamewars. Yo diría que es simplemente sintomático del lenguaje en general. – deceze

Respuesta

3

Citado de: http://tnx.nl/php.html

PHP tiene función incompatible nombrando
No existe un sistema de manifiesto en subrayado (s) versus ningún subrayado (s):

underscore    no underscore: 

stream_get_line   readline 
disk_free_space   diskfreespace 
is_object    isset 
mcal_day_of_week   jddayofweek 
set_error_handler  setlocale 
snmp_get_quick_print  snmpget 
get_browser    getallheaders 
base64_encode   urlencode 
image_type_to_mime_type imagetypes 
msql_num_fields   mysql_numfields 
php_uname    phpversion 
strip_tags    stripslashes 
bind_textdomain_codeset bindtextdomain 
cal_to_jd    gregoriantojd 
str_rot13    strpos 
+0

Thx anne ... este es un ganador :) aunque solo son malos comentarios, o prevalecen allí, al menos. sin embargo, me sirvió bastantes veces. – hummingBird

+0

Fuimos por esa lista ... Muchas declaraciones tienen 10 años. – binaryLV

1

Bienvenido a php. Este ha sido un tema tantas veces. En pocas palabras, la única manera de superarlo es usar un ide/editor php céntrico que lo sugiera. Por cierto, que es solo la mitad del problema, también verá funciones donde el orden es opuesto. Al igual que

(mixed $needle , array $haystack) 

y luego

(array $haystack , string $needle) 

Así se acostumbre a ella, o que saliera es el lema.

+0

jajaja :) ... sí, ese también es un ganador. Estoy lidiando con esto bastante bien ... he estado programando w php durante algunos años ... pero esto ha sido un rompecabezas para mí todo el tiempo. y una fuente de frustración de vez en cuando. – hummingBird

+0

¿Qué pasa con 'implode (string $ glue, array $ pieces)' y 'implode (array $ pieces, string $ glue)'? ;) – binaryLV

Cuestiones relacionadas