2010-02-16 13 views
6

Sono nuovo di php e ho visto la convenzione del nome di una funzione piuttosto ambigua in php e questo mi confonde mentre dimentico regolarmente i nomi delle funzioni. Suppongo che dovrei darti un esempio.PHP: nomi di funzioni ambigue

Se la funzione per la codifica è htmlentities allora perché è opposto è chiamato html_entitiy_decode piuttosto che qualcosa di simile entitiesdecode o quello che è più vicino alla htmlentities.

Ci sono corrispondenti nomi di funzioni troppo ma penso php non ha un approccio coerente per nominare le sue funzioni.

Qualsiasi idea, per favore, rende difficile per me ricordare i nomi delle funzioni. Grazie

+0

Quello che faccio di solito prima di accendere il mio editor è attivare i documenti PHP. Li ho scaricati in un comodo '.formato chm' per Windows (credo che ci siano anche visualizzatori '.chm' per altri sistemi operativi). Documenti scaricabili sono qui: http://www.php.net/download-docs.php –

+1

Ecco un 'visualizzatore .chm' per OS X: http://chmox.sourceforge.net/. E qui ci sono diversi per Linux: http://www.linux.com/archive/articles/122171 –

+0

@fireeyedboy: sì che è uno dei la miglior risorsa per avere aperto. – Sarfraz

risposta

9

No, PHP non hanno davvero un approccio coerente per i nomi di funzioni - che è principalmente per due motivi:

  • ragioni storiche: una volta che le funzioni sono stati rilasciati con quei nomi, che non possono essere modificati
  • estensioni/biblioteche: PHP è un linguaggio "collante" che incorpora diverse librerie esterne, ed è spesso usato i nomi delle funzioni di tali librerie - che non sono necessariamente coerenti.

Fortunatamente, la comunità PHP e sviluppatori sono consapevoli di questo, e cercare di non ripetere questo errore ora, quando si sviluppano nuove funzioni - ma le cose sarà molto probabilmente rimarrà così per vecchie funzioni.


Il meglio che puoi fare è adottare una convenzione di denominazione per le tue classi/funzioni/metodi/variabili e rispettarla nei tuoi progetti; questo sarà già un buon inizio.

+0

@Pascal: ottima e la risposta più logica credo, mi dispiace non ho potuto votare perché richiede di avere la reputazione di almeno 15 ma comunque questo ci ha aiutato, Thanks :) –

+0

@Pascal: +1 sono in grado di farlo ora :) –

+0

@phpBOY: sei il benvenuto :-) ;;; E benvenuto su SO! –

2

Ho paura che questo sia un problema con PHP con cui dovrai convivere. Potresti avvolgere queste funzioni "errate" con le tue, ma questo ovviamente renderà più costose quelle chiamate.

3

C'è un po 'legato question and answer in the PHP FAQ about parameter order:

non riesco a ricordare l'ordine dei parametri delle funzioni PHP, sono essi a caso?

PHP è un collante che riunisce centinaia di librerie esterne, in modo a volte questo diventa disordinato. Tuttavia, una semplice regola empirica è la seguente: I parametri della funzione array sono ordinati come "ago, pagliaio" mentre le funzioni stringa sono l'opposto, quindi "pagliaio, ago".

La prima frase della risposta può essere applicato a funzionare nomi pure.

Per le proprie funzioni, hanno uno sguardo al Userland Naming Guide e/o prendere in considerazione in seguito una delle convenzioni di codifica come Zend o PEAR.

0

Vorrei dare una risposta semplice, il fatto è che è a causa della compatibilità. Una funzione data una volta un nome non può essere invertita in quanto è stata utilizzata in migliaia di progetti e il nucleo della lingua, nonché pera e pecl. Grazie

+0

@Sarfraz: sì che sembra essere abbastanza corretto e breve risposta grazie –

Problemi correlati