Rofihimam

Untitled

Feb 12th, 2020
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.93 KB | None | 0 0
  1. <?php
  2.     /**
  3.      * Define MyClass
  4.      */
  5.     class MyClass
  6.     {
  7.         // Declare a public constant
  8.         public const MY_PUBLIC = 'public';
  9.  
  10.         // declare a protected constant
  11.         protected const MY_PROTECTED = 'protected';
  12.  
  13.         // declare a private constant
  14.         private const MY_PRIVATE = 'private';
  15.  
  16.         function foo()
  17.         {
  18.             echo self::MY_PUBLIC;
  19.             echo self::MY_PROTECTED;
  20.             echo self::MY_PRIVATE;
  21.         }
  22.     }
  23.  
  24.     $myclass = new MyClass();
  25.     MyClass::MY_PUBLIC; // works
  26.     MyClass::MY_PROTECTED; // fatal error
  27.     MyClass::MY_PRIVATE; // fatal error
  28.     $myclass->foo(); // public, protected and private work
  29.  
  30.     /**
  31.      * define MyClass2
  32.      */
  33.     class MyClass2 extends MyClass
  34.     {
  35.         // this is public
  36.         function foo2()
  37.         {
  38.             echo self::MY_PUBLIC;
  39.             echo self::MY_PROTECTED;
  40.             echo self::MY_PRIVATE; // fatal error
  41.         }
  42.     }
  43.  
  44.     $myclass2 = new MyClass2;
  45.     echo MyClass2::MY_PUBLIC; // works
  46.     $myclass2->foo2(); // public and protected work, not private
  47. ?>
Advertisement
Add Comment
Please, Sign In to add comment