Pemalar dan pembolehubah PHP menggunakan pemalar untuk menyekat pengguna daripada melangkau fail tertentu
Chang-Cina secara literal bermaksud: tahan lama, tidak berubah untuk masa yang lama.
Malar mudah diterjemahkan: nilai yang tahan lama.
[Pengetahuan utama] Kami mentakrifkan tahap pengetahuan sebagai: tahap senyap
Skop penggunaan pemalar adalah sangat luas. Kami akan menggunakan pemalar pada masa hadapan untuk menentukan direktori kerja kami, mentakrifkan beberapa ciri kata laluan akaun, nombor versi, dsb. Jadi ilmu ini sangat penting.
Takrifan dan kaedah penulisan pemalar dalam kod:
takrifkan (nama pemalar, nilai pemalar)
Nota:
1. Nilai malar hanya boleh menjadi skalar yang kita bincangkan dalam bab sebelumnya.
2. Nama tetap boleh menjadi huruf kecil, tetapi biasanya huruf besar
3. Nama tetap boleh tanpa tanda petikan, tetapi biasanya dengan tanda petikan.
4. Apabila memanggil pemalar dalam rentetan, ia mesti berada di luar tanda petikan
5. Adalah disyorkan bahawa nama pemalar hanya menggunakan huruf dan garis bawah
Mari bereksperimen dengan kod:
1 Cuba tentukan dan panggil pemalar
<?php define('MY_NAME','PHP中文網(wǎng)'); echo MY_NAME; //下面是錯誤的調(diào)用方式 echo '我的名字是MY_NAME'; //正確的調(diào)用方式該這么寫 echo '我的名字是' . MY_NAME; ?>
2 Beri perhatian kepada eksperimen projek
<?php //其實可以小寫,但是不好區(qū)分,所以我們規(guī)定通常大寫 define('xiaoxie',true); echo xiaoxie; //常量可以在外面不加引號 define(YH,'不要對未來迷茫,迷茫的時候靜下心來coding'); echo YH; //只能用標量,我在后面用了一個數(shù)組,大家學(xué)一下就行,會報錯的喲 define('BIAO',array(1,2,3)); ?>
Selain itu, sistem juga telah menyediakan beberapa terbina dalam. pemalar untuk kita. Pemalar ini ditentukan. Mari kita kenali beberapa dahulu. Terdapat lebih banyak pemalar sistem yang telah kami pelajari dalam jilid sebelumnya. Selepas bermula, kami akan menambah dan mempelajarinya secara perlahan.
Nama tetap | Penerangan | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Barisan semasa | ||||||||||||||||||||||
?>FAIL?> | Fail semasa ialah dalam laluan Pelayan | ||||||||||||||||||||||
?>FUNCTIOIN?> | Nama fungsi semasa | ||||||||||||||||||||||
? >KELAS?> | Nama kelas semasa | ||||||||||||||||||||||
?>KAEDAH?> | Nama kaedah ahli semasa | ||||||||||||||||||||||
PHP_OS | Sistem pengendalian yang dijalankan PHP | ||||||||||||||||||||||
PHP_VERSION | Sekarang versi PHP | ||||||||||||||||||||||
?>TRAIT?> | Nama Trait, ditambah dalam php5.4 | ?>DIR?> | Direktori tempat fail terletak | ||||||||||||||||||||
?>NAMESPACE?> | Nama ruang nama semasa (sensitif huruf besar-kecil) |
Fungsi yang ditakrifkan() digunakan sebagai mekanisme keselamatan
Anda tidak perlu menguasai pengetahuan di sini. Selepas mempelajari fungsi tersebut, anda boleh melihat bahagian kod ini semula.
defined() Mari kita pelajari penggunaan ini, terutamanya untuk menghalang orang lain daripada memintas fail semakan keselamatan.
Fungsi: ditakrifkan (malar)
Fungsi: Lulus pemalar selepas kurungan fungsi Jika pemalar ditakrifkan, ia akan kembali benar, jika tidak ia mengembalikan palsu
[Simulasi Senario. ] Andaikata, kami Set perisian e-mall dalam talian ini memerlukan pembayaran Menyemak sama ada pembayaran dibuat dengan menyemak kebenaran perisian versi.php mempunyai fungsi menyemak kebenaran yang telah kami tetapkan tiada kebenaran untuk menyemak versi fail PHP tidak boleh menggunakan perisian ini. Semua kod termasuk version.php. Dan untuk mengelakkan seseorang daripada cetak rompak, saya juga boleh menyulitkan kod version.php.
Kami mempunyai dua fail:
1 Terdapat nombor versi, pernyataan versi dan pernyataan kebenaran di tengah-tengah satu fail. Nama fail ialah versi.php
2. Contohnya: pendaftaran pengguna, log masuk, dsb., nama fail ialah pengguna.php
Apakah yang perlu kita lakukan? ——Maksudnya, jika fail version.php tidak disertakan, kod selepas users.php akan dilaksanakan.
Mari kita jalankan percubaan:
fail version.php
<?php //此處是檢查是否是否授權(quán)的業(yè)務(wù)部份代碼xxxx define('AUTH',true); //略過模擬代碼xxx行 ?>
users.php
<?php //嘗試將include 'version.php'這一行代碼注釋后再執(zhí)行看看,對比結(jié)果 include 'version.php'; if(!defined('AUTH')){ echo '非法!非法!你嘗試跳過授權(quán)文件'; exit; } //模擬后面用戶注冊和用戶登陸的代碼xxx行 echo '用戶注冊'; ?>
Hasil percubaan menunjukkan bahawa version.php mesti disertakan, jika tidak, ia akan tidak dipaparkan Gema berikut 'Pendaftaran pengguna';
sertakan
sebutan: [?n?klud]
penjelasan: mengandungi
versi
sebutan: [?v?: ?n]
Penjelasan: Versi
pengguna
Sebutan: [?juz?]
Penjelasan: Pengguna
Plural: pengguna
takrifkan
Sebutan: [d??fa?n]
Penjelasan: Tentukan fungsi
: include('pass in file path and file name')
function: Fungsi fungsi ini adalah untuk lulus dalam fail dengan laluan yang ditentukan dan biarkan PHP menyertakan ia untuk pelaksanaan
Nota: Dalam bab berikut, kami akan menerangkan dan bereksperimen secara khusus dengan memasukkan