Что это означает, когда имя функции PHP начинается с подчеркивания?
например: __construct()
Я знаю, что означает конструкция, но я видел другие места, где функция начинается с подчеркивания или двойного подчеркивания, и я просто не уверен в значении.
Это означает, что PHP вызывает это неявно.
Это называется «магическим методом»,
Кроме того, это два подчеркивания, а не одно.
Подробнее здесь: PHP Magic Methods
В PHP функции начинаются с двух символов подчеркивания, как правило, имеют особые значения. Из руководства:
PHP сохраняет все имена функций, начиная с __ как магические. Рекомендуется, чтобы вы не использовали имена функций с __ на PHP, если вы не хотите каких-либо документированных магических функций.
Например, __construct () – это специальный метод, который вызывается автоматически при инициализации объекта.
Существует также общее название «стиль кодирования», в котором используется одно начальное подчеркивание, указывающее, что методы или свойства являются частными / защищенными. Я думаю, что это довольно широко.
Как отмечено в других ответах, двойное подчеркивание используется для «магических» методов. Идея состоит в том, что пользователь никогда не намеренно использовал бы два символа подчеркивания для имени метода, поэтому риск столкновения невелик. Причина, по которой я считаю, ни в коем случае не является единственным подчеркиванием, заключалась в том, что единственный подчеркивание было популярным соглашением для частных методов в плохие (der) старые дни, прежде чем ключевое слово «private» подошло для обеспечения неприкосновенности OO.
В кодеигнитре, если вы запустите метод в контроллере с подчеркиванием, маршрутизатор будет знать, что он не сможет получить доступ к URL-адресу.