Alternative pentru accesarea funcțiilor PHP

În prezent, dezvolt o aplicație folosind standardul PHP. Ca atare, există funcții asortate care sunt chemați din formulare. Printre exemple se numără înregistrarea, conectarea, deconectarea și altele.

În loc să creați un fișier separat pentru fiecare funcție, folosesc un fișier phpscripts.php în directorul inclus. Pentru a executa o funcție de la intrarea html, plasez URL-ul cu ? Action = functionName . În interiorul fișierului de script, folosesc un arbore de comutator/caz pentru a executa funcția corespunzătoare bazată pe variabila S_GET ['action'] .

Există o modalitate mai bună de a implementa apeluri HTML în funcțiile PHP?

0
@ Dagon, nu. Acest lucru nu ar funcționa, deoarece toate celelalte funcționalități depind de valorile POST. GET este folosit numai pentru a direcționa acțiunile butonului către funcții.
adăugat autor Jason, sursa
@meager, ar fi o idee, dar o cerință pentru acest proiect este de a maximiza funcționalitatea drop-in și de a minimiza dependențele externe. Aceasta înseamnă că nu există cadre ...
adăugat autor Jason, sursa
Luați în considerare învățarea folosirii unui cadrului PHP .
adăugat autor meagar, sursa

2 răspunsuri

Pentru sanatatea ta ... considera ca ai un script care se ocupa de toate cererile ca cele de mai sus. Ceva ca /process_action.php. Faceți față unor acțiuni unificate, cum ar fi: verificarea pentru a vă asigura că există funcția, verificarea unui utilizator logat, conectarea la o bază de date, crearea de resurse partajate etc.

Dacă utilizați Apache, puteți face destul de multe URL-uri folosind mod rescrie. Te poți întoarce

/actions/function/?restofquery

în

/process_action.php?action=function&restofquery

folosind ceva asemănător cu următorul text plasat într-un fișier .htaccess pe site-ul dvs. Web.

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/actions/([-_a-zA-Z0-9]+)/?$ /process_action.php?action=$1&%1 [L]

Ca o notă laterală, întrebarea dvs. pare să fie pe punctul de a descoperi model/vizualizare/controler (MVC) . Există mai multe cadre minunate, dar nu vă lăsa să vă descurajeze să vă rulați. Învață practicând :)

0
adăugat
Sunt experimentat cu Java MVC și framweworks, în special Grails. Problema este că acest proiect are o cerință minimă de dependență sau aș începe prin integrarea lui Zend sau CodeIgniter într-o bătăi de inimă.
adăugat autor Jason, sursa

No, that is the correct way to interface a HTML form with a PHP script. Other alternatives would include employing URL rewriting (to convert something like /actions/functionname/param to ?action=functionname&param=x), but the basic principle remains the same.

0
adăugat
PHP România, Moldova
PHP România, Moldova
173 participanți

Vorbim despre Yii, Laravel, Symphony, MySQL, PgSQL, WP, OpenCart... Pentru confort, opriți notificările. Parteneri: https://ciupacabra.com @js_ro @node_ro @python_ro @seo_ro @Romania_Bot Offtop: @holywars_ro Joburi: @php_job @Grupuri_IT