Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- What happens in this code block during php oop?
- <?php
- class xyz {
- public function foo(Request $request){
- //some code
- }
- }
- <?php
- // An example class
- class MyClass
- {
- /**
- * A test function
- *
- * First parameter must be an object of type OtherClass
- */
- public function test(OtherClass $otherclass) {
- echo $otherclass->var;
- }
- /**
- * Another test function
- *
- * First parameter must be an array
- */
- public function test_array(array $input_array) {
- print_r($input_array);
- }
- }
- // Another example class
- class OtherClass {
- public $var = 'Hello World';
- }
- <?php
- // An instance of each class
- $myclass = new MyClass;
- $otherclass = new OtherClass;
- // Fatal Error: Argument 1 must be an object of class OtherClass
- $myclass->test('hello');
- // Fatal Error: Argument 1 must be an instance of OtherClass
- $foo = new stdClass;
- $myclass->test($foo);
- // Fatal Error: Argument 1 must not be null
- $myclass->test(null);
- // Works: Prints Hello World
- $myclass->test($otherclass);
- // Fatal Error: Argument 1 must be an array
- $myclass->test_array('a string');
- // Works: Prints the array
- $myclass->test_array(array('a', 'b', 'c'));
- ?>
- <?php
- class User
- {
- private $username;
- public function get_username()
- {
- return $this->username;
- }
- }
- class xyz()
- {
- public function foo(User $currentUser)
- {
- $currentUser->get_username();
- }
- }
- $x = new xyz();
- $u = new User();
- $x->foo($u); // That will not produce any error because we pass an Object argument of type User
- $name = "my_name";
- $x->foo($name); // This will produce an error because we pass a wrong type of argument
- ?>
- $request instanceof Request == true
Add Comment
Please, Sign In to add comment