Check for Function and Class Existence Using PHP
When you've inherited a big website or you're working on a group website where you don't have quick access to communicate with the other developers, it's important to not assume that a custom function or class name has not already been defined. Here's how you can protect yourself:
The PHP
if(!function_exists('show_article')) {
function show_article($id) {
//code here
}
}
if(!class_exists('my_class')) {
class myclass {
//code here
}
}
Using this type of programming can also protect you in case a file gets accidentally included twice. If a file with a function definition were to be included twice, you'd get an ugly "redefined" error when the function is realistically only in one file.
![Chris Coyier’s Favorite CodePen Demos]()
David asked me if I'd be up for a guest post picking out some of my favorite Pens from CodePen. A daunting task! There are so many! I managed to pick a few though that have blown me away over the past few months. If you...
![An Interview with Eric Meyer]()
Your early CSS books were instrumental in pushing my love for front end technologies. What was it about CSS that you fell in love with and drove you to write about it?
At first blush, it was the simplicity of it as compared to the table-and-spacer...
![Create a 3D Animating Sidebar]()
Mozilla's Christian Heilmann is an evangelist that knows how to walk the walk as well as talk the talk. You'll often see him creating sweet demos on his blog or the awesome Mozilla Hacks blog. One of my favorite pieces...
![CSS Scoped Styles]()
There are plenty of awesome new attributes we've gotten during the HTML5 revolution: placeholder, download, hidden, and more. Each of these attributes provides us a different level of control over an element on the page, but there's a new element attribute that allows...
It seems a little redundant to check for class existence when you’re trying to create a new class. If the class does exist, then you want yours to be named something else so that it can be used. I would personally want an error in the example above, so I knew to rename the class.
It would make sense to check for the class before instantiating it, but to check for the class before creating it, seems like it could create some confusing situations.
Thanks for this cool idea. Sometime it really becomes hard to follow other developers of the team, so this idea will really help.