Rumah pembangunan bahagian belakang tutorial php DZ论坛核心代码分析计划-注释进行时_PHP教程

DZ论坛核心代码分析计划-注释进行时_PHP教程

Jul 21, 2016 pm 02:57 PM
kod guna dekat menganalisis domestik wujud pelanggan pasaran permohonan teras Komen rancangan forum

DZ论坛在国内来说应用市场是最大的。客户可能使用并不关注其内在代码的好坏,但这个代码核心确实我们php初学者的最好教程。
网上搜罗一下,也没发现有详细的分析文件或者分析列表。既然php代表了开源代表了共享。为什么不这么做呢?
况且DZ的代码风格非常顺畅,看起来很舒适。而且有很多好的习惯和思路在里面,能学到很多东西.

开始从根目录下的index.php开始分析。我知道DZ采用了自创的模板系统。而且非常好用。但我不打算根据网上朋友的经验从include文件包开始分析。因为思路上太散了。所以我是根据页面使用习惯开始分析代码的。预计3天时间能出另一部分。
这一系列贴是我的初步分析篇。只是对其结构和代码组建思维以我个人的想法进行简单的分析。等全部工作完成,按现在的速度算(因为我也要上班,没时间天天扑上面)。一个月全部的初步分析篇大致能完成。然后接下来的工作是根据初步分析进行仔细的分析和应用。大致上是这样安排我的php自学过程的。
希望这点东西对和我一样学习方法的朋友有效。
事实上我建立了一个文件目录及作用表,但现在分析的内容比较少。所以暂时不发上来。等全部搞完了再发布。
说明:是基于最新的DZ6.1的核心代码!文件上我根据我自己的判断有的函数有的过程每一步都详细说明,有的并没有说得很清楚只是说明这个函数的大致作用。如果想根据我的的注释版来分析。注释就是作为各位的一个参考元素。如果有没有注释正确的,请跟贴说明。谢谢。附上我的总结笔记就是用来分享我从代码中学到的东西
希望有和我同样兴趣研究DZ的志同道合者发论坛小刀给我。。众人拾柴火焰高哈~

载入第一篇:1、DZ论坛核心代码分析计划--install包篇

我已经从最先的install文件包开始分析。已经分析完毕
Install篇
下面附上的是已经写好描述的源文件。。。很多值得借鉴的思想。就在这里留个坑吧。。。因为我电脑上东西乱仍。。某一年的某一天,我一不小心把我整合代码盘全删了。。。。很崩溃很崩溃。
分析没到每一行,那样太琐碎了。这样分析只是分析他的思路和思想。方法才是最重要的。函数自己随手就可以查的。

下面呢,是我的分析日记。2天就分析完了。挺简单的。不过很多东西我很少用,却及其有用。值得借鉴。

以下为引用的内容:
2008年10月3日17:46:52
分析文件:install/index.php
1、
在代码的顶部引入error_reporting()方法,设定php的错误提示等级。事实上php的配置文件可以配置,但是在每个文件重新设定这个错误提示等级,使错误提示更为灵活。
2、
在某些条件下通过使用set_time_limit()设定运行时间,并且通过ob_start()打开输出缓冲器。最好用@来屏蔽错误。
3、
使用define()设定多个常量而不是变量供程序代码使用。
分析文件:discuz_version.php
文件作用:定义版权的常量值
1、
因为这个文件是被引入调用其设定好的常量。所以从理论上任何文件都能调用。所以在一开始通过判断是否IN_DISCUZ为真,如果不是,则停止整个程序的运行。
2008年10月4日9:42:22
分析文件db_mysql.class.php
文件作用:数据库的链接类
1、
通过一个判断来决定是采用mysql_connect(非持续性)还是mysql_pconnect(持续性)
2、
通过判断来决定是采用mysql_unbuffered_query(执行操作,但不返回任何数据)还是mysql_query(执行操作,可返回数据)
3、
1和2两个经验点,大量使用了?:运算符;如:(exp1?(exp2):(exp3)).若exp1为真则exp2,反之exp3。
4、

//mysql_num_fields-取得结果集中字段的数目
function num_fields($query) {

return mysql_num_fields($query);

}
5、
//释放结果内存

function free_result($query) {

return mysql_free_result($query);

}
2008年10月4日10:21:48
总结:因为被包含文件可以通过路径进行访问,为了保护文件的安全性,DZ在所有需要引用其他文件的前面定义了一个常量IN_DISCUZ。在被引入文件的头部对这个常量进行判断,如果没有这个常量,也就是直接通过路径进行访问的。则不执行源代码中的任何部分。这是个很好的保护源代码措施。而且很简单。

另,在分析Install文件包的时候我发现DZ程序员的思维确实很不错。考虑很多错误出现的情况并且进行处理。说实话这点我还真做不到。值得学习。并且其考虑了数据库或者php版本问题,在db_mysql.class.php文件里就使用了一个动态设定数据存储编码的方法。大家可以借鉴一下。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/364111.htmlTechArticleDZ论坛在国内来说应用市场是最大的。客户可能使用并不关注其内在代码的好坏,但这个代码核心确实我们php初学者的最好教程。 网上搜罗...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk membuat asal Padam dari Skrin Utama dalam iPhone Bagaimana untuk membuat asal Padam dari Skrin Utama dalam iPhone Apr 17, 2024 pm 07:37 PM

Memadamkan sesuatu yang penting daripada skrin utama anda dan cuba mendapatkannya semula? Anda boleh meletakkan ikon apl kembali pada skrin dalam pelbagai cara. Kami telah membincangkan semua kaedah yang boleh anda ikuti dan meletakkan semula ikon aplikasi pada skrin utama Cara Buat Asal Alih Keluar dari Skrin Utama dalam iPhone Seperti yang kami nyatakan sebelum ini, terdapat beberapa cara untuk memulihkan perubahan ini pada iPhone. Kaedah 1 – Gantikan Ikon Apl dalam Pustaka Apl Anda boleh meletakkan ikon apl pada skrin utama anda terus daripada Pustaka Apl. Langkah 1 – Leret ke sisi untuk mencari semua apl dalam pustaka apl. Langkah 2 – Cari ikon apl yang anda padamkan sebelum ini. Langkah 3 – Hanya seret ikon apl dari pustaka utama ke lokasi yang betul pada skrin utama. Ini adalah gambar rajah aplikasi

Peranan dan aplikasi praktikal simbol anak panah dalam PHP Peranan dan aplikasi praktikal simbol anak panah dalam PHP Mar 22, 2024 am 11:30 AM

Peranan dan aplikasi praktikal simbol anak panah dalam PHP Dalam PHP, simbol anak panah (->) biasanya digunakan untuk mengakses sifat dan kaedah objek. Objek adalah salah satu konsep asas pengaturcaraan berorientasikan objek (OOP) dalam PHP Dalam pembangunan sebenar, simbol anak panah memainkan peranan penting dalam mengendalikan objek. Artikel ini akan memperkenalkan peranan dan aplikasi praktikal simbol anak panah, dan menyediakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Peranan simbol anak panah untuk mengakses sifat sesuatu objek Simbol anak panah boleh digunakan untuk mengakses sifat objek. Apabila kita instantiate sepasang

Cara menggunakan aplikasi Baidu Netdisk Cara menggunakan aplikasi Baidu Netdisk Mar 27, 2024 pm 06:46 PM

Storan awan telah menjadi bahagian yang amat diperlukan dalam kehidupan dan kerja harian kita pada masa kini. Sebagai salah satu perkhidmatan storan awan terkemuka di China, Baidu Netdisk telah memenangi hati sebilangan besar pengguna dengan fungsi storan yang berkuasa, kelajuan penghantaran yang cekap dan pengalaman operasi yang mudah. Dan sama ada anda ingin menyandarkan fail penting, berkongsi maklumat, menonton video dalam talian atau mendengar muzik, Baidu Cloud Disk boleh memenuhi keperluan anda. Walau bagaimanapun, ramai pengguna mungkin tidak memahami penggunaan khusus aplikasi Baidu Netdisk, jadi tutorial ini akan memperkenalkan anda tentang cara menggunakan aplikasi Baidu Netdisk secara terperinci Jika anda masih keliru, sila ikuti artikel ini untuk mengetahui lebih lanjut! Cara menggunakan Cakera Rangkaian Awan Baidu: 1. Pemasangan Mula-mula, semasa memuat turun dan memasang perisian Baidu Cloud, sila pilih pilihan pemasangan tersuai.

Cara menggunakan NetEase Mailbox Master Cara menggunakan NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox, sebagai alamat e-mel yang digunakan secara meluas oleh netizen Cina, sentiasa memenangi kepercayaan pengguna dengan perkhidmatannya yang stabil dan cekap. NetEase Mailbox Master ialah perisian e-mel yang dicipta khas untuk pengguna telefon mudah alih. Ia sangat memudahkan proses menghantar dan menerima e-mel dan menjadikan pemprosesan e-mel kami lebih mudah. Jadi bagaimana untuk menggunakan NetEase Mailbox Master, dan apakah fungsi khusus yang ada di bawah, editor tapak ini akan memberi anda pengenalan terperinci, dengan harapan dapat membantu anda. Mula-mula, anda boleh mencari dan memuat turun aplikasi NetEase Mailbox Master di gedung aplikasi mudah alih. Cari "Induk Peti Mel NetEase" dalam App Store atau Baidu Mobile Assistant, dan kemudian ikut gesaan untuk memasangnya. Selepas muat turun dan pemasangan selesai, kami membuka akaun e-mel NetEase dan log masuk. Antara muka log masuk adalah seperti yang ditunjukkan di bawah

Tutorial BTCC: Bagaimana untuk mengikat dan menggunakan dompet MetaMask pada pertukaran BTCC? Tutorial BTCC: Bagaimana untuk mengikat dan menggunakan dompet MetaMask pada pertukaran BTCC? Apr 26, 2024 am 09:40 AM

MetaMask (juga dipanggil Little Fox Wallet dalam bahasa Cina) ialah perisian dompet penyulitan percuma dan diterima baik. Pada masa ini, BTCC menyokong pengikatan pada dompet MetaMask Selepas mengikat, anda boleh menggunakan dompet MetaMask untuk log masuk dengan cepat, menyimpan nilai, membeli syiling, dsb., dan anda juga boleh mendapatkan bonus percubaan 20 USDT untuk pengikatan pertama. Dalam tutorial dompet BTCCMetaMask, kami akan memperkenalkan secara terperinci cara mendaftar dan menggunakan MetaMask, dan cara mengikat dan menggunakan dompet Little Fox dalam BTCC. Apakah dompet MetaMask? Dengan lebih 30 juta pengguna, MetaMask Little Fox Wallet ialah salah satu dompet mata wang kripto yang paling popular hari ini. Ia percuma untuk digunakan dan boleh dipasang pada rangkaian sebagai sambungan

Cara menggunakan aplikasi Xiaomi Auto Cara menggunakan aplikasi Xiaomi Auto Apr 01, 2024 pm 09:19 PM

Perisian kereta Xiaomi menyediakan fungsi kawalan kereta jauh, membolehkan pengguna mengawal kenderaan dari jauh melalui telefon bimbit atau komputer, seperti membuka dan menutup pintu dan tingkap kenderaan, menghidupkan enjin, mengawal penghawa dingin dan audio kenderaan, dsb. penggunaan dan kandungan perisian ini, mari kita pelajari bersama-sama . Senarai lengkap fungsi dan kaedah penggunaan apl Xiaomi Auto 1. Apl Xiaomi Auto telah dilancarkan di Apple AppStore pada 25 Mac, dan kini boleh dimuat turun dari gedung aplikasi pada pembelian kereta: Ketahui tentang sorotan teras dan parameter teknikal Xiaomi Auto, dan buat temu janji untuk pandu uji Konfigurasikan dan pesan kereta Xiaomi anda, dan sokong pemprosesan dalam talian bagi barang tugasan pengambilan kereta. 3. Komuniti: Memahami maklumat jenama Xiaomi Auto, bertukar pengalaman kereta, dan berkongsi kehidupan kereta yang indah 4. Kawalan kereta: Telefon bimbit adalah alat kawalan jauh, alat kawalan jauh, keselamatan masa nyata;

Cara menggunakan pembelian ansuran Dewu Cara menggunakan pembelian ansuran Dewu Mar 24, 2024 pm 01:46 PM

Bagaimana untuk menggunakan pembelian ansuran Dewu? Anda boleh menggunakan perkhidmatan pembayaran ansuran untuk membeli barangan kegemaran anda di APP Dewu tutorial tentang cara menggunakannya. Pengguna yang berminat boleh datang dan lihat! Tutorial penggunaan Dewu Cara menggunakan pembelian ansuran Dewu 1. Mula-mula buka APP Dewu dan masukkan halaman utama, pilih produk kegemaran anda dan masukkan halaman pembelian 2. Kemudian pada halaman pembelian produk dalam gambar di bawah, klik [Beli Sekarang] masuk; sudut kanan bawah; 3 , kemudian pilih nombor kod yang sesuai dan klik harga di sebelah kiri 4. Kemudian pada halaman pengesahan pesanan, pilih [Submit Order] di sudut kanan bawah; semak butang di belakang [Huabei Installment]. Hanya pilih jenis ansuran dan anda selesai

Cara menggunakan Copilot untuk menjana kod Cara menggunakan Copilot untuk menjana kod Mar 23, 2024 am 10:41 AM

Sebagai seorang pengaturcara, saya teruja dengan alatan yang memudahkan pengalaman pengekodan. Dengan bantuan alat kecerdasan buatan, kami boleh menjana kod demo dan membuat pengubahsuaian yang diperlukan mengikut keperluan. Alat Copilot yang baru diperkenalkan dalam Visual Studio Code membolehkan kami mencipta kod yang dijana AI dengan interaksi sembang bahasa semula jadi. Dengan menerangkan kefungsian, kami dapat memahami dengan lebih baik maksud kod sedia ada. Bagaimana untuk menggunakan Copilot untuk menjana kod? Untuk bermula, kami terlebih dahulu perlu mendapatkan sambungan PowerPlatformTools yang terkini. Untuk mencapai ini, anda perlu pergi ke halaman sambungan, cari "PowerPlatformTool" dan klik butang Pasang

See all articles