Rumah pembangunan bahagian belakang tutorial php PHP避免重复申明函数的解决方案_PHP

PHP避免重复申明函数的解决方案_PHP

Jun 01, 2016 pm 12:35 PM
any do fungsi penyelesaian elakkan ulang

解决方案

jincoo(来自RUTED.COM的爬虫)

    我们知道在PHP中不能使用相同的函数名定义函数两次如果这样程序执行的时候就会出错。



    而我们会把一些常用的自定义函数提取出来
放到一个Include文件中然后别的文件就可以通过Includerequire来调用这些函数下面是一个例子




//   File name test1.inc.php



function fun1()

{

  // do any fun1

}



function fun2()

{

  // do any fun2

}

?>





//   File name test2.inc.php



require("test1.inc.php");



function fun1()

{

  // do any fun1

}



function fun3()

{

  // do any fun3

}

?>





//   File name test.php

//可能需要包含其他的文件

require("test1.inc.php");

require("test2.inc.php");

// do any test

?>



    在test1
.inc.php和test2.inc.php中同时定义了fun1这个函数我虽然知道这两个函数实现的功能完全相同但是我并不确定或者说我不想明确的知道一个函数是不是在某个“包”(INCLUDE)中定义了另外的一个问题是我们不能包含一个包两次但是我并不想在这里花过多的时间进行检查上面的例子执行test.php会产生很多错误。



    在C语言中
提供了预定义功能可以解决这个问题



#ifndef __fun1__

#define __fun1__

// do any thing

#endif



    PHP并不提供这样的机制,但是我们可以利用PHP的灵活性,实现和C语言的预定一同样的功能,下面举例如下:




//   File name test1.inc.php



if ( !isset(____fun1_def____) )

{

  ____fun1_def____ = true;

   function fun1()

  {

    // do any fun1

  }

}

if ( !isset(____fun2_def____) )

{

  ____fun2_def____ = true;

  function fun2()

  {

    // do any fun2

  }

}

?>





//   File name test2.inc.php



require("test1.inc.php");



if ( !isset(____fun1_def____) )

{

  ____fun1_def____ = true;

  function fun1()

  {

    // do any fun1

  }

}

if ( !isset(____fun3_def____) )

{

  ____fun3_def____ = true;

  function fun3()

  {

    // do any fun3

  }

}

?>





//   File name test.php

//可能需要包含其他的文件

require("test1.inc.php");

require("test2.inc.php");

// do any test

?>



    现在
我们不再怕同时包含一个包多次或定义一个函数多次会出现的错误了。这样直接带给我们的好处是维护我们的程序变得比较
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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Muzium Dua Point: Semua Pameran dan Di Mana Mencari Mereka
1 bulan 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)

Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Jun 03, 2024 pm 01:25 PM

Cabaran biasa yang dihadapi oleh algoritma pembelajaran mesin dalam C++ termasuk pengurusan memori, multi-threading, pengoptimuman prestasi dan kebolehselenggaraan. Penyelesaian termasuk menggunakan penunjuk pintar, perpustakaan benang moden, arahan SIMD dan perpustakaan pihak ketiga, serta mengikuti garis panduan gaya pengekodan dan menggunakan alat automasi. Kes praktikal menunjukkan cara menggunakan perpustakaan Eigen untuk melaksanakan algoritma regresi linear, mengurus memori dengan berkesan dan menggunakan operasi matriks berprestasi tinggi.

Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang Apr 25, 2024 pm 02:39 PM

Bahasa Go menyediakan dua teknologi penciptaan fungsi dinamik: penutupan dan refleksi. penutupan membenarkan akses kepada pembolehubah dalam skop penutupan, dan refleksi boleh mencipta fungsi baharu menggunakan fungsi FuncOf. Teknologi ini berguna dalam menyesuaikan penghala HTTP, melaksanakan sistem yang sangat boleh disesuaikan dan membina komponen boleh pasang.

Pertimbangan untuk susunan parameter dalam penamaan fungsi C++ Pertimbangan untuk susunan parameter dalam penamaan fungsi C++ Apr 24, 2024 pm 04:21 PM

Dalam penamaan fungsi C++, adalah penting untuk mempertimbangkan susunan parameter untuk meningkatkan kebolehbacaan, mengurangkan ralat dan memudahkan pemfaktoran semula. Konvensyen susunan parameter biasa termasuk: tindakan-objek, objek-tindakan, makna semantik dan pematuhan perpustakaan standard. Susunan optimum bergantung pada tujuan fungsi, jenis parameter, kemungkinan kekeliruan dan konvensyen bahasa.

Bagaimana untuk menulis fungsi yang cekap dan boleh diselenggara di Jawa? Bagaimana untuk menulis fungsi yang cekap dan boleh diselenggara di Jawa? Apr 24, 2024 am 11:33 AM

Kunci untuk menulis fungsi Java yang cekap dan boleh diselenggara ialah: pastikan ia mudah. Gunakan penamaan yang bermakna. Mengendalikan situasi khas. Gunakan keterlihatan yang sesuai.

Koleksi lengkap formula fungsi excel Koleksi lengkap formula fungsi excel May 07, 2024 pm 12:04 PM

1. Fungsi SUM digunakan untuk menjumlahkan nombor dalam lajur atau sekumpulan sel, contohnya: =SUM(A1:J10). 2. Fungsi AVERAGE digunakan untuk mengira purata nombor dalam lajur atau sekumpulan sel, contohnya: =AVERAGE(A1:A10). 3. Fungsi COUNT, digunakan untuk mengira bilangan nombor atau teks dalam lajur atau sekumpulan sel, contohnya: =COUNT(A1:A10) 4. Fungsi IF, digunakan untuk membuat pertimbangan logik berdasarkan syarat yang ditentukan dan mengembalikan hasil yang sepadan.

Analisis dan penyelesaian kerentanan keselamatan rangka kerja Java Analisis dan penyelesaian kerentanan keselamatan rangka kerja Java Jun 04, 2024 pm 06:34 PM

Analisis kelemahan keselamatan rangka kerja Java menunjukkan bahawa XSS, suntikan SQL dan SSRF adalah kelemahan biasa. Penyelesaian termasuk: menggunakan versi rangka kerja keselamatan, pengesahan input, pengekodan output, mencegah suntikan SQL, menggunakan perlindungan CSRF, melumpuhkan ciri yang tidak perlu, menetapkan pengepala keselamatan. Dalam kes sebenar, kelemahan suntikan ApacheStruts2OGNL boleh diselesaikan dengan mengemas kini versi rangka kerja dan menggunakan alat semakan ekspresi OGNL.

Perbandingan kelebihan dan kekurangan parameter lalai fungsi C++ dan parameter pembolehubah Perbandingan kelebihan dan kekurangan parameter lalai fungsi C++ dan parameter pembolehubah Apr 21, 2024 am 10:21 AM

Kelebihan parameter lalai dalam fungsi C++ termasuk memudahkan panggilan, meningkatkan kebolehbacaan dan mengelakkan ralat. Kelemahannya ialah fleksibiliti terhad dan sekatan penamaan. Kelebihan parameter variadic termasuk fleksibiliti tanpa had dan pengikatan dinamik. Kelemahan termasuk kerumitan yang lebih besar, penukaran jenis tersirat dan kesukaran dalam penyahpepijatan.

Apakah faedah fungsi C++ mengembalikan jenis rujukan? Apakah faedah fungsi C++ mengembalikan jenis rujukan? Apr 20, 2024 pm 09:12 PM

Faedah fungsi mengembalikan jenis rujukan dalam C++ termasuk: Peningkatan prestasi: Melewati rujukan mengelakkan penyalinan objek, sekali gus menjimatkan memori dan masa. Pengubahsuaian langsung: Pemanggil boleh mengubah suai secara langsung objek rujukan yang dikembalikan tanpa menugaskannya semula. Kesederhanaan kod: Lulus melalui rujukan memudahkan kod dan tidak memerlukan operasi penugasan tambahan.

See all articles