KomputerLunak

PHP global global ing fungsi. Nggawe global global ing PHP

Kanggo nggawe situs lengkap, kang nduweni fungsi sing godhongé amba sampeyan kudu ngerti kathah. Nanging apa bisa nggawe wong saestu unik - iku PHP. Variabel global ing basa pamrograman ora digunakake kerep banget, nanging kadhangkala ngerti cara kerjane, kadhangkala iku perlu. Ingkang dipun ginakaken apa iku lan cara kerjane, kita arep kanggo apa ing artikel iki.

orane katrangan

Dadi nelpon konteks kang maneko rupo lan ditemtokake. Ing ngriku, dados duwe mung siji orane katrangan. Nalika PHP variabel global dimuat saka file liyane, banjur iku uga klebu (kalebu) lan dibutuhake (mbutuhake).

Kanthi gawan, padha sing winates kanggo orane katrangan fungsi lokal. Lan carane nggawe global katon file ing wates, kang bisa luwih lan nggunakake? Kanggo iki pungkasan, lan diwenehake ing variabel global PHP.

keyword ing "global"

Lan punika cara kanggo wara-wara global global kanggo PHP? Ing nampa goal iki bakal bantuan kita tembung "global". Sampeyan perlu kanggo nyeleh ing ngarepe global sing arep nggawe global (narimer, global «Variabel The").

Sawise implementasine pratondo kuwi, data bakal padha bisa kanggo bisa karo file sembarang. Yen nang endi wae ana referensi kanggo global iki, program bakal tansah mbayar manungsa waé ing versi global.

Apa kuwi basa aneh? Kasunyatan sing ing wektu sing padha ana uga versi lokal. Nanging wong-wong bakal kasedhiya istimewa kanggo sing file ngendi announced. Lan kanggo kabeh liyane bakal tumindak variabel global kelas PHP. Mulane sampeyan kudu ati-ati. Lan sing ana sangsi, kene conto saka apa padha katon kaya: a global.

Amarga yen siji file bakal nduweni akses menyang sawetara kemungkinan, iku bakal njalari wong nerak paugeran. Nanging kita ora bisa ngomong kanggo manawa - lokal utawa global global wis maca utawa kabeh gagal. Dadi, yen kanggo ndhaftar ing fungsi, iku ngirim ora masalah. Nanging nggunakake global kanggo wates kanggo masalah. Mulane, struktur ngrumusaké kode perlu kanggo rapet ngawasi lan priksa manawa ora ono ana malah prasyarat kanggo konflik ngandika jumeneng.

pawujudan Liyane ngrekam

Iku bisa ing PHP kanggo nggawe global global ing cara liyane? Ya, malah ora. Pisanan, ayo kang nimbang $ GLOBALS. Iki Uploaded associative. Tombol kanggo iku - iku jeneng. Minangka Nilai saka isi tumindak minangka variabel global. Sampeyan kudu nyatet sing Uploaded sawise pengumuman ana ing orane katrangan apa. Iki menehi alesan kanggo pracaya iku superglobal. Iku katon dadi: $ GLOBALS [ 'global'].

Wis disetel / superglobals

Ing saben programming language ana sawetara jeneng sing Chartered kanggo sawetara saka sawijining fungsi. Mulane, kanggo nggawe ing PHP variabel global saka jeneng padha ora bisa.

programming language iki nduweni ciri dhewe. Dadi, iku penting sing kemungkinan wis disetel kene ora nginstall "super", sing padha ora kasedhiya ing kabeh lokasi. Aku bisa ndandani iku? Kanggo kemungkinan wis disetel iki kasedhiya ing sawetara wilayah lokal, iku kudu dinyatakaké minangka nderek :. Global «Variabel" Iku misale jek dadi padha sadurunge marang, tengen? Sampeyan bener, nanging ora cukup. Ayo kita katon ing wis "onomatopia" conto:

  • global $ HTTP_POST_VARS;
  • samudayanipun $ HTTP_POST_VARS [jeneng ''].

Sampeyan aran prabédan antarane wong-wong mau? Elinga yen ing variabel global PHP ora kudu kudu digunakake ing fungsi. Iku bisa malah diselehake ing file sing wis kalebu ing.

Pranala lan safety

Nalika sampeyan bisa ndeleng, ing PHP nggawe global global ora masalah. Nanging ana apa pranala relatif tartamtu? Ya, ana uga prilaku sing ora dikarepke nalika nggunakake global. Nanging sadurunge sing, sing backstory sethitik.

Ing versi 4.2.0 pinuduh dening register_globals standar diganti saka ing negara kanggo mati. Kanggo meh kabeh pangguna, iki ora penting banget, nanging muspra. Sawise kabeh, iku langsung mengaruhi keamanan produk dikembangaké. Yen sampeyan perlu kanggo nggawe global global, PHP-arahan ing parameter iki ora langsung kena pengaruh. Nanging, nggunakake salah wis bisa nggawe keamanan precedents.

Dadi yen register_globals diuripake, sadurunge tumapake kode ditulis initialized variabel beda sing perlu, contone kanggo ngirim HTML-formulir. Mulane, iku iki mutusaké kanggo mateni.

Apa iku negara arahan iki ing global global php owes akeh? Kasunyatan punika nalika negara gawe ora tansah kanthi cetha bisa piyambak njawab pitakonan saka ngendi kang teka saka. Ing tangan siji, iku luwih gampang kanggo nulis kode. Nanging ing liyane - iku resiko keamanan. Mulane, supaya kasalahan, uga data nyawiji lan arahan wis dipatèni.

Saiki ayo kang katon ora / code aman, uga cara kanggo ndeteksi njagani woro-woro ing global PHP global diiringi usaha ing Kraton karo data. Iki perlu supaya nggawe ora mung ayu, nanging uga ajeg situs sing ora kokain wong pisanan kasedhiya apa.

kode sing bebayani

Ayo dadi nyetel rupo sing bener kanggo wong-wong sing wis sah:

yen (authenticate_user ()) {
$ Kuoso = bener;
}

yen ($ kuoso) {
kalebu "/highly/sensitive/data.php";
}

Ing negara iki, global bisa otomatis. Ngelingi sing data bisa mung diganti, lan sumber asal ora nyetel, banjur sapa bisa ngliwati test kuwi lan ndalang dadi wong liya. Yen dikarepake, ing panyerangan (utawa mung curious nanging inexperienced wong) bisa bisu, logika kita.

Yen kita ngganti angka saka arahan ing, kode iki bakal bisa bener, kita dibutuhake. Nanging initialization kemungkinan ora mung muni apik ing program, nanging uga menehi kita njamin tartamtu saka stabilitas saka script.

versi Reliable kode

sampeyan bisa mateni utawa panuduh bisa, utawa ukuman kode liyane Komplek kanggo entuk goal iki. Contone, kaya iki:

yen (isset ($ _ SESSION [ 'username'])) {

kumandhang "Hello {$ _ SESSION [ 'username']} ";

} Else {

kumandhang "Hello Guest
";
samudayanipun "Welcome pengguna!";

}

Nggawe substitusi ing kasus iki, bakal ana angel. Nanging isih - bisa. Kanggo nindakake iki, sampeyan kudu ngurus sing pribadi cepet respon padha kasedhiya. Yen sampeyan pengin kalebu variabel global ing PHP, sampeyan bisa nggunakake pribadi ing ngisor iki: yen kita ngerti apa sawetara iku nilai dijupuk, iku bisa kanggo ndhaftar script kanggo mriksa karo match. Mesti wae, iku uga ora njamin pangayoman lengkap kaliyan nilai-nilai substitusi. Nanging sing kakehan opsi Ngartekno complicate.

Ketemu usaha kanggo nyaru

Ayo kang ndeleng carane ngerti ditulis sadurungé. Ing PHP variabel global ing fungsi sing bakal diwenehi ngisor iki, sampeyan kudu wara-wara dhewe. Kita bisa ngomong sing iki jenis peer ing assimilation saka topik wulangan. Punika kode:

yen (isset ($ _ cookie [ 'C_COOKIE'])) {
} Elseif (isset ($ _ njaluk [ 'C_COOKIE']) || isset ($ _ POST [ 'C_COOKIE'])) {

mail ( "administrarot@example.com", "manungsa waé, script iki direkam nyoba ing Soma lan Kraton karo data", $ _SERVER [ 'REMOTE_ADDR']);
samudayanipun "Ana safety Broken utawa nyoba kanggo nglakoni kabar Administrator.";
metu;

} Else {
}
?>

Saiki panjelasan thereto. Sebagéyan C_COOKIE isa kanggo kita saka sumber sing dipercaya. Kanggo kanthi wareg miturut asil samesthine, kita mriksa nilai lan ngabari administrator ing cilik saka masalah. Yen ora teka, banjur ora ajeg lan ora perlu kanggo nggawe. Sampeyan kudu ngerti sing mung mateni arahan register_globals ora nggawe kode sing aman. Mulane, global sing ditampa script saka pangguna, kudu dicenthang kanggo Nilai samesthine.

kesimpulan

Kene, ing umum, lan kabeh sing perlu kanggo ngerti bab variabel global kanggo kasil lan aman digunakake ing karya. Mesthi, ngomong sing ana njamin lengkap sing siji ora bakal digunakake ora bisa - panyerang sing saya Ngapikake cara lan skills. Punika mila seng di pengeni kanggo matesi nggunakake maksimum variabel global ing kode. Begjanipun, struktur lan desain fitur saka basa pamrograman iki bisa entuk goal iki. Good luck!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 jw.delachieve.com. Theme powered by WordPress.