PHP避免重复申明函数的解决方案
我们知道,在PHP中不能使用相同的函数名定义函数两次,如果这样,程序执行的时候就会出错。
而我们会把一些常用的自定义函数提取出来,放到一个Include文件中,然后别的文件就可以通过Include或require来调用这些函数,下面是一个例子:
php
// 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语言的预定一同样的功能,下面举例如下:
php
// 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
?>
现在,我们不再怕同时包含一个包多次或定义一个函数多次会出现的错误了。这样直接带给我们的好处是,维护我们的程序变得比较轻松了。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Huawei is rolling out software version 5.0.0.100(C00M01) for the Watch GT 5 and the Watch GT 5 Prosmartwatchesglobally. These two smartwatches recently launched in Europe, with the standard model arriving as the company’s cheapest model. This Harmony

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Xiaomi will shortly launch the Mijia Graphene Oil Heater in China. The company recently ran a successful crowdfunding campaign for the smart home product, hosted on its Youpin platform. According to the page, the device has already started to ship to

CMS stands for Content Management System. It is a software application or platform that enables users to create, manage, and modify digital content without requiring advanced technical knowledge. CMS allows users to easily create and organize content

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op
