I saw many tutorials underscores (_) are used in function.
But I don't know why it is used and how can I use ?
Like this :
function _save_cart()
{
}
I saw many tutorials underscores (_) are used in function.
But I don't know why it is used and how can I use ?
Like this :
function _save_cart()
{
}
According to Codeigniter documentation,
Prefixing method names with an underscore will also prevent them from being called. This is a legacy feature that is left for backwards-compatibility.
I have used it in cases when I need a helper-type function to be publicly accessible within the code, such as for validation, but not accessible from a browser.
Underscores are a perfectly valid character in PHP function names and you can use them like any other.
Generally, a function that starts with an underscore means that the function is meant to have a hidden visibility. Here is an example with the WordPress source code.
At the same time, an underscore might just be used to reduce the chance of a naming conflict or just because the author thought it would be more aesthetically pleasing. Here is another example with WordPress (a function that is meant to be used publicly):
As mentioned in the comments there is another answer regarding methods. Underscores in front of functions and methods are considered bad practice. For more information you can refer to the PSR-2 Coding Style Guide.
In objective languages functions and variables names seperate with capitalize char, forexample: saveCart(), getCart(), ...
But in functional languages people use underscore and i think it comes from C posix standarts/notations.
C language doesn't support private and protected keywords so people generally use one or two underscore as pre extension for make the function private or protected.
Php firstly created as a functional language after a long time ZEND added object oriented features. So many people used to write it like a functional language. And so if you see a function like _save_cart you can understand that: an old school php coder make this function protected or private with posix way.
There are 4 naming conventions:
But in CI we use PascalCased and lower_case
In Codeigniter
---------------------------------
| Classes | PascalCased |
| Methods | lower_case |
| Properties | lower_case |
| Functions | lower_case |
| Variables | lower_case |
---------------------------------
Read this