Inheritance: extends MyClass
Ejemplo n.º 1
0
        print "MyClass::printHello() " . $this->private;
        print "MyClass::printHello() " . $this->protected;
        print "MyClass::printHello() " . $this->protected2;
    }
}
class MyClass2 extends MyClass
{
    protected $protected = "MyClass2::protected!\n";
    function printHello()
    {
        MyClass::printHello();
        print "MyClass2::printHello() " . $this->public;
        print "MyClass2::printHello() " . $this->protected;
        print "MyClass2::printHello() " . $this->protected2;
        /* Will result in a Fatal Error: */
        //print "MyClass2::printHello() " . $this->private; /* Fatal Error */
    }
}
$obj = new MyClass();
print "Main:: " . $obj->public;
//print $obj->private; /* Fatal Error */
//print $obj->protected;  /* Fatal Error */
//print $obj->protected2;  /* Fatal Error */
$obj->printHello();
/* Should print */
$obj2 = new MyClass2();
print "Main:: " . $obj2->private;
/* Undefined */
//print $obj2->protected;   /* Fatal Error */
//print $obj2->protected2;  /* Fatal Error */
$obj2->printHello();
Ejemplo n.º 2
0
 public function test()
 {
     $a = new MyClass2("Ankit");
     return $a->getName();
 }
Ejemplo n.º 3
0
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the Closure to execute when that URI is requested.
|
*/
Route::get('/', function () {
    return "Welcome to ROBUST";
});
Route::get('/myclass', array('uses' => 'MyclassController@test'));
Route::get('/myclass2', array('uses' => 'Myclass2Controller@test'));
Route::get('/createMyClass2', function () {
    $b = new MyClass2("TEST");
    return $b->getName();
});
/* Look at the class created by use of namespaces */
Route::get('/student', function () {
    $a = new \libraryClasses\Student("ANKIT", 68007);
    return $a->test();
});
/* Direct get the class by use of namespaces */
Route::get('/packagetest', function () {
    echo \Ankit\Userpackage\Userpackage::greeting();
});
Route::get('/callclass', function () {
    $a = new MyClass();
    return $a->getStatus();
});
Ejemplo n.º 4
0
$myclass->Foo();
// Работает общий, защищенный и закрытый
/**
 * Определение MyClass2
 */
class MyClass2 extends MyClass
{
    // Это общедоступный метод
    function Foo2()
    {
        $this->MyPublic();
        $this->MyProtected();
        //$this->MyPrivate(); // Неисправимая ошибка
    }
}
$myclass2 = new MyClass2();
$myclass2->MyPublic();
// Работает
$myclass2->Foo2();
// Работает общий и защищенный, закрытый не работает
class Bar
{
    public function test()
    {
        $this->testPrivate();
        $this->testPublic();
    }
    public function testPublic()
    {
        echo "Bar::testPublic\n";
    }
Ejemplo n.º 5
0
        /* Should print */
        print "MyClass2::printHello() " . $this->Hello;
        /* Shouldn't print out anything */
        print "MyClass2::printHello() " . $this->Bar;
        /* Shouldn't print (not declared)*/
        print "MyClass2::printHello() " . $this->Foo;
        /* Should print */
    }
    public function aPublicMethod()
    {
        echo "Bar::aPublicMethod() called.\n";
        $this->aProtectedMethod();
    }
}
$obj = new MyClass();
print $obj->Hello;
/* Shouldn't print out anything */
print $obj->Bar;
/* Shouldn't print out anything */
print $obj->Foo;
/* Shouldn't print out anything */
$obj->printHello();
/* Should print */
$obj = new MyClass2();
print $obj->Hello;
/* Shouldn't print out anything */
print $obj->Bar;
/* Shouldn't print out anything */
print $obj->Foo;
/* Shouldn't print out anything */
$obj->printHello();
Ejemplo n.º 6
0
        echo "Hello World!\n";
    }
}
class MyClass1
{
    use HelloWorld {
        sayHello as public;
    }
}
class MyClass2
{
    use HelloWorld {
        sayHello as final;
    }
}
class MyClass3
{
    use HelloWorld {
        sayHello as protected final;
    }
    public function sayHi()
    {
        return $this->sayHello();
    }
}
$a = new MyClass1();
$a->sayHello();
$a = new MyClass2();
$a->sayHello();
$a = new MyClass3();
$a->sayHi();
Ejemplo n.º 7
0
    {
        echo 'Hello World!' . " {$callFrom} \n\n";
    }
}
// Change visibility of sayHello
class MyClass1
{
    use HelloWorld {
        sayHello as protected;
    }
    public function sayHelloMC1()
    {
        echo $this->sayHello('MyClass1');
    }
}
// Alias method with changed visibility
// sayHello visibility not changed
class MyClass2
{
    use HelloWorld {
        sayHello as private myPrivateHello;
    }
    public function sayHelloMC2()
    {
        echo $this->myPrivateHello('MyClass2');
    }
}
$oM1 = new MyClass1();
echo $oM1->sayHelloMC1();
$oM2 = new MyClass2();
echo $oM2->sayHelloMC2();
Ejemplo n.º 8
0
{
    use HelloWorld {
        sayHello as protected;
    }
}
/**
* x
*/
class MyClass2
{
    use HelloWorld {
        sayHello as private myPrivateHello;
    }
    public function say()
    {
        $this->myPrivateHello();
    }
}
/**
* x
*/
class MyClass3 extends MyClass1
{
    public static function say()
    {
        self::sayHello();
    }
}
MyClass3::say();
$myclass = new MyClass2();
$myclass->say();
Ejemplo n.º 9
0
<?php

include_once __DIR__ . "/../vendor/autoload.php";
use useful\traits\Singleton;
class MyClass
{
    use Singleton;
    public $hash;
    function __construct()
    {
        $this->hash = md5(rand());
    }
}
class MyClass2 extends MyClass
{
    use Singleton;
    // note: without defining, it will use existent instance of class MyClass
    public function getById()
    {
    }
}
echo MyClass::getInstance()->hash . PHP_EOL;
echo MyClass2::getInstance()->hash . PHP_EOL;