There are 3 important naming conventions:
Other variants are not important because they are not commonly used.
For variables it seems that the one with underscores is the most used by developers so I'll stick with that. I think it's the same for functions.
But what about class, and method names? Which of these 3 is the most used by developers for such constructs? (personally, it's 3. for methods and 2. for classes)
Please do not post things like "use what you feel is right", because the code I'm writing is API for other developers, and I'd like to adopt the most popular coding style :)