Che programmatore di php dovrebbe sapere? [chiuso]

2

Ho scavato il database qui e non ho trovato alcuna risposta alla mia domanda.

Che cos'è uno standard per un programmatore di php per sapere? Voglio dire, letteralmente, quale gruppo di funzioni, meccanismi, variabili del linguaggio dovrebbe sapere a persona di considerarsi un (buon) programmatore di php? (So che "essere bravi" è al di là della sintassi del linguaggio, tuttavia sto considerando la sintassi di solo php)

Per dare un esempio cosa intendo:

  • funzioni per controllare le sessioni http, i cookie
  • funzioni per controllare la connessione con i database
  • funzioni per il controllo della gestione dei file
  • funzioni per controllare xml etc ..

Ometto frasi come "sicurezza" o "schemi" o "struttura" intenzionalmente come si applica a ogni linguaggio di programmazione.

Spero di essere stato chiaro, ogni input apprezzato:)

MODIFICA 1:

Note:

Michael J.V. is right claiming that databases are independent from language, so to put my question more precisely and emphasise differences:

Practises or security, are some ideas to implement (there is no 'Pattern' object with 'Decorator()' method, is there?) while using databases means knowing a mysqli and a set of its methods.

EDIT 2: Mi è venuto tutto in mente dopo un compito di intervista:

Count seconds, days, months, years elapsed since date input till now.

Quindi avevo aperto i documenti php per controllare le funzioni della data. Dopo aver svolto i compiti, l'intervistatore mi ha detto che non era soddisfatto delle mie azioni dal momento che datetime () è qualcosa che tutti dovrebbero sapere. Ecco perché sto chiedendo tutto questo. Quello che tutti dovrebbero sapere ..

    
posta lilly 27.06.2011 - 15:21
fonte

4 risposte

6

Devi sapere:

  • Come funziona HTTP, dal momento che se si creano applicazioni Web questo sarà il meccanismo principale con cui comunicano con l'utente. Scopri anche come amministrare il server web su cui eseguirai il test e imparerai molto di più che "riavvia il server", scopri come funziona.

  • Alcuni HTML e CSS - anche se hai un designer dell'interfaccia utente per scrivere tutto l'HTML per te, potresti comunque aver bisogno di eseguire il debug e di modificarlo.

  • Alcune abilità grafiche di base - perché a volte è necessario creare immagini segnaposto quando il designer grafico è occupato. E a volte il designer ti fornisce un file Photoshop e si aspetta che tu lo riduca a pezzi per il web perché semplicemente non hanno tempo / sanno come / non importa.

  • Alcune competenze di base del database: molte applicazioni web in questi giorni hanno un database nel backend. È utile sapere come scrivere le query di base e le istruzioni DML (Data Modification Language) anche se si dispone di un DBA e di un framework per aiutare - a volte il DBA è occupato e talvolta il framework non funziona correttamente.

  • Come trovare aiuto - come cercare l'API PHP di base e qualsiasi altra libreria ausiliaria che usi, e come chiedere aiuto sui forum di Internet (come questo, quindi presumo tu abbia già questo inchiodato verso il basso).

  • I tuoi strumenti. Ci sono molti IDE e strumenti là fuori. Qualunque cosa scelga il tuo team / manager, imparalo bene. Impara le scorciatoie, impara le funzioni avanzate. Sfrutta al massimo tutto ciò che può offrire.

  • Come testare. Testare un'app Web è un po 'diverso dal test di un'applicazione desktop o dell'app CLI, ma il logging e il test dell'unità sono ancora semplici e possibili.

Se lavori con un particolare framework, è importante sapere come funziona. Se è basato su MVC, assicurati di sapere come progettare e creare un'applicazione MVC che funzioni con il framework.

    
risposta data 27.06.2011 - 16:11
fonte
5

Un programmatore PHP dovrebbe conoscere:

  • Sintassi
  • il PHP core api, compresa la creazione di classi, funzioni, utilizzo dell'operatore, loop (http://www.php.net/manual/de/index.php.
  • come connettersi ai database mysql, come configurare gli schemi, come creare istruzioni SQL
  • come utilizzare php in un modo orientato agli oggetti, inclusi modelli di progettazione comuni come factory, singleton, decoratore
  • iniezione di dipendenza
  • PHPUnit
  • Crea strumenti come Ant o Maven
  • cos'è l'integrazione di Continouus (e strumenti come buildbot o Jenkins)
  • Zend Framework o componenti Ez (ora componenti Zeta)
  • Registrazione (log4php)
  • che cos'è il template o, meglio, ha utilizzato un sistema di template
  • HTML / CSS / JavaScript a un buon livello (ma non esperto)
  • dovrebbe avere esteso Drupal, Joomla o Wordpress
  • dovrebbe conoscere una API di pagamento, come l'API Paypal o il checkout di Google

E così via.

Mi aspetto questa conoscenza di un programmatore PHP piuttosto esperto. Se hai bisogno di un junior, puoi cancellare qualcosa da questo elenco, ovviamente. Se devi pagare di più per questo ragazzo, aggiungi qualcosa. ; -)

Spero che ti aiuti!

Christian

    
risposta data 27.06.2011 - 15:31
fonte
3
  • PHP Core API
  • PHPUnit
  • JavaScript
  • Un buon framework web (ce ne sono molti, in più non voglio iniziare un dibattito su questo:))
  • Un buon motore di template (stesso commento come sopra)
  • Nozioni di base sull'ambiente Linux (cron jobs, uso di sudo, gestione degli utenti, ecc ...)
  • Hai menzionato le cose relative a XML quindi ti consiglio anche di sapere come usare JSON con PHP.
  • Sperimentare con la lingua e leggere i documenti

Saluti

    
risposta data 27.06.2011 - 17:14
fonte
1

Un programmatore php dovrebbe sapere:

  • come funziona il protocollo http
  • la sintassi del php
  • che può trovare il 90% delle risposte alle sue domande nel documento php
  • cosa è disponibile nell'API php array, string, xml, filesystem in modo da non reinventare la ruota ogni giorno
  • come gestire le sessioni
  • se si utilizza un database: come utilizzare i join e le funzioni di gruppo

Un programmatore php decente dovrebbe sapere:

  • come ottenere gli input dell'utente in modo sicuro
  • che usi istruzioni preparate per interrogare un database
  • buffer di output
  • che cos'è un'API REST, SOAP o XML-RPC e come usarne una
  • se usi i database: come normalizzare i suoi dati
  • almeno un framework
  • almeno un sistema di template

Gli ultimi due in modo che possa valutare se potranno beneficiarne per un progetto

Un buon programmatore php dovrebbe sapere:

  • come usare un quadro di test unitario per testare il suo lavoro
  • integrazione continua
  • come documentare il suo codice
  • uno stile che controlla l'app per il suo codice
  • alcuni schemi di progettazione e quando utilizzarli
  • se si utilizzano i database: trigger, stored procedure e quando utilizzarli.

Come ogni programmatore: come usare il suo IDE e alcuni software di controllo della versione.

    
risposta data 27.02.2012 - 11:04
fonte

Leggi altre domande sui tag