Разница между функциями и публичными функциями в классах

Вопрос: В классах большинство людей используют public function name() { } для определения методов. Тем не менее, я видел несколько примеров их определения без ключевого слова public, например function name() { }. Я был смущен этим, потому что я думал, что вам нужно использовать public/private/protected, когда внутри класса. Я делал то же самое, и function

Вопрос:

В классах большинство людей используют public function name() { } для определения методов. Тем не менее, я видел несколько примеров их определения без ключевого слова public, например function name() { }. Я был смущен этим, потому что я думал, что вам нужно использовать public/private/protected, когда внутри класса.

Я делал то же самое, и function выполняла ту же работу, что и public function.

Итак, мой вопрос: в чем разница между использованием function и public function внутри класса?

Лучший ответ:

Опущение видимости – это устаревший код. PHP 4 не поддерживал public, protected и private, все методы были public.

Short: «public function» == «function»//true

См. Также руководство по PHP:

// This is public function Foo() { $this->MyPublic(); $this->MyProtected(); $this->MyPrivate(); }

Аналогично var $attribute; эквивалентно public $attribute. Версия var также является устаревшим кодом PHP 4.

Ответ №1

Там нет разницы в PHP> = 5. Методы класса могут быть определены как общедоступные, частные или защищенные. Методы, объявленные без какого-либо явного ключевого слова видимости, определяются как общедоступные.

Ответ №2

По умолчанию видимость является общедоступной. Если метод объявлен без явного префикса видимости, он будет общедоступным.

Следующие объявления эквивалентны:

function name() {}; public function name() {}; Ответ №3

Если вы не устанавливаете видимость метода в php, это то же самое, что и его публикация.

Из руководства PHP:

Методы класса могут быть определены как общедоступные, частные или защищенные. Методы, объявленные без какого-либо явного ключевого слова видимости, определяются как общедоступные.

<?php /** * Define MyClass */ class MyClass { // Declare a public constructor public function __construct() { } // Declare a public method public function MyPublic() { } // Declare a protected method protected function MyProtected() { } // Declare a private method private function MyPrivate() { } // This is public function Foo() { $this->MyPublic(); $this->MyProtected(); $this->MyPrivate(); } } Ответ №4

Если вы определяете с помощью простых function, по умолчанию для него требуется public область (по умолчанию) из PHP 5.

function sample { }

а также

public function sample { }

нет никакой разницы между ними.

private => может получить доступ к свойству в классе

protected => может получить доступ к собственному классу и подклассам

public => может обращаться в любом месте приложения.

Ответ №5

В функции OOP PHP называются методы.

class MyClass { public function aMethod() { // (do stuff here) } function myMethod(){} //here public property is assumed }

Когда вы произвольно оставляете общедоступное, закрытое или защищенное ключевое слово в классе. Если вы это сделаете, publicis предположил.

  • public → Доступно во всей области, то есть к нему можно получить доступ везде
  • protected → Доступно в классе или его подклассах.
  • private → Доступно только в классе, который определяет функцию

    Эта функция доступна с php 5.X, и они дают вам возможность контролировать видимость вашей переменной или функции.

если вы видите функцию с идентификаторами, например public, protected и private, они находятся в классе.

public function functionName(){} and function functionName(){}

в основном одинаковы, за исключением того, что уровень видимости является открытым и объектно-ориентированным, а другая нормальная функция php без уровня видимости.

Оцените статью
Добавить комментарий