Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: недавно начал изучать ООП и появился вопрос никак не могу найти что значит запись
Форумы портала PHP.SU » » Объектно-ориентированное программирование » недавно начал изучать ООП и появился вопрос никак не могу найти что значит запись

Страниц (1): [1]
 

1. 3d_killer - 19 Сентября, 2013 - 21:53:12 - перейти к сообщению
например эта в классе:
PHP:
скопировать код в буфер обмена
  1.  
  2. self::$isAdmin = ($gid === 1);
  3. self::$rights = $cfg['rights'];
  4. self::$groups = $cfg['groups'];
  5.  

или эта:
PHP:
скопировать код в буфер обмена
  1.  
  2. _acl::load($gid); // загружаем права доступа для группы $gid
  3. _acl::isAllow($perm); // проверяем действие, где $perm - название действия
  4.  

вобщем эти двоеточия меня ставят в тупик, простите за глупые вопросы...
2. caballero - 19 Сентября, 2013 - 21:55:21 - перейти к сообщению
обращения к статическим членам класса
3. teddy - 19 Сентября, 2013 - 23:10:08 - перейти к сообщению
Ещё двоеточие используется при обращении к константам класса
PHP:
скопировать код в буфер обмена
  1. class A{
  2.     const TEST = "Это тест";   
  3. }
  4. echo A::TEST;
  5.  

Если требуется обращение к константе класса внутри самого класса, тогда так же обращаемся как и к статическим свойствам(переменным) через ключевое слово self:: но уже без знака $
PHP:
скопировать код в буфер обмена
  1. class A{
  2.     const TEST = "Это тест";
  3.     function __construct(){
  4.         echo self::TEST;
  5.     }
  6. }
  7. new A();
  8.  

Ещё можете встретить :: при вызове родительского метода из класса наследника при помощи ключевого слова parent::
4. LIME - 20 Сентября, 2013 - 09:14:52 - перейти к сообщению
подитожим
:: используется при обращении к членам класса в контексте класса, а не конкретного экземпляра,
и так как статические члены и константы относятся ко всему классу целиком то и обращаться к ним можно при помощи ::

 

Powered by ExBB FM 1.0 RC1