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 :: Версия для печати :: Self и static
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Self и static

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

1. lowmax - 20 Августа, 2012 - 14:43:49 - перейти к сообщению
в чем отличие?

PHP:
скопировать код в буфер обмена
  1. class func {
  2.  
  3.         static function user($name) {
  4.                 //тут код
  5.         }
  6.  
  7.         static function admin() {
  8.                 return func::user('admin');
  9.         }
  10.  
  11. }


PHP:
скопировать код в буфер обмена
  1. class func {
  2.  
  3.         static function user($name) {
  4.                 //тут код
  5.         }
  6.  
  7.         static function admin() {
  8.                 return self::user('admin');
  9.         }
  10.  
  11. }


одинаковы ли эти примеры?
2. caballero - 20 Августа, 2012 - 14:48:19 - перейти к сообщению
в данном случае ни в чем
3. Мелкий - 20 Августа, 2012 - 14:49:54 - перейти к сообщению
Одинаковы.
self позволяет обращаться к методу этого класса, не зная, как называется этот класс, что бывает полезным при наследовании.
Ну и, на мой взгляд, self читается легче, позволяет не думать, обращение это к этому классу или вызов статического метода другого.

 

Powered by ExBB FM 1.0 RC1