Intereting Posts
Сохранить PDF-файл, созданный с помощью php-библиотеки FPDF в поле BLOB MySQL Push Notification в PHP с использованием файла PEM Имеет ли значение длина имени переменной для производительности в PHP? Фильтровать, сортировать и разбивать на страницы в Codeigniter Создать сеанс сеанса на 1 странице или на всех страницах? Выполнять запросы и обрабатывать ответы для возобновляемой загрузки: Google Drive api Печать содержимого XML-файла с использованием XML DOM Извлечь URL из строки Закрывающий тэг PHP удаляет фид строки Проблема Magento с вызовом метода isInStock () на продукте Создайте сканер с поддержкой JavaScript PHP Переадресация на другую страницу после отправки формы Вставка данных в несколько таблиц с использованием одной формы Использование PHP substr () и strip_tags () при сохранении форматирования и без нарушения HTML Лучший способ хранения списка идентификаторов пользователей

Подчеркивание в php-функции

Что это означает, когда имя функции PHP начинается с подчеркивания?

например: __construct()

Я знаю, что означает конструкция, но я видел другие места, где функция начинается с подчеркивания или двойного подчеркивания, и я просто не уверен в значении.

Solutions Collecting From Web of "Подчеркивание в php-функции"

Это означает, что PHP вызывает это неявно.

Это называется «магическим методом»,

Кроме того, это два подчеркивания, а не одно.

Подробнее здесь: PHP Magic Methods

В PHP функции начинаются с двух символов подчеркивания, как правило, имеют особые значения. Из руководства:

PHP сохраняет все имена функций, начиная с __ как магические. Рекомендуется, чтобы вы не использовали имена функций с __ на PHP, если вы не хотите каких-либо документированных магических функций.

Например, __construct () – это специальный метод, который вызывается автоматически при инициализации объекта.

Se также: http://php.net/manual/en/language.oop5.magic.php

Существует также общее название «стиль кодирования», в котором используется одно начальное подчеркивание, указывающее, что методы или свойства являются частными / защищенными. Я думаю, что это довольно широко.

Как отмечено в других ответах, двойное подчеркивание используется для «магических» методов. Идея состоит в том, что пользователь никогда не намеренно использовал бы два символа подчеркивания для имени метода, поэтому риск столкновения невелик. Причина, по которой я считаю, ни в коем случае не является единственным подчеркиванием, заключалась в том, что единственный подчеркивание было популярным соглашением для частных методов в плохие (der) старые дни, прежде чем ключевое слово «private» подошло для обеспечения неприкосновенности OO.

В кодеигнитре, если вы запустите метод в контроллере с подчеркиванием, маршрутизатор будет знать, что он не сможет получить доступ к URL-адресу.