[PHP] objects handling objects
I looked in the manual, but didn't see anything about this. I've read that PHP isn't a true object-oriented language, but rather simulates elements of object-oriented programming. Can I write a class that performs operations and manipulates objects? Can objects be placed into arrays etc? Erik Erik Price Web Developer Temp Media Lab, H.H. Brown [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] objects handling objects
On Thursday, April 4, 2002, at 04:21 PM, Erik Price wrote: I looked in the manual, but didn't see anything about this. I've read that PHP isn't a true object-oriented language, but rather simulates elements of object-oriented programming. Can I write a class that performs operations and manipulates objects? Can objects be placed into arrays etc? Erik The real hindrance I've come up against is that you can't do chained method calls, otherwise objects perform pretty well as expected. Keep in mind the difference between passing by reference and by copy, though, or you'll find yourself updating a copy of an object somewhere instead of the original. -Steve Here's some code I was just playing around with: ?php class classA { function method1() { return 1; } function method2() { return 2; } } class classB { function method1($num = 0) { return $num + 10; } function method2($num = 0) { return $num+20; } } class classC { function echoMethod($object) { return $object; } } class classD { function otherMethod1($object) { return $object-method1(); } function otherMethod2($object) { return $object-method2(); } } $a = new classA; $b = new classB; $c = new classC; $d = new classD; print(a1: . $a-method1() . br /\n); print(a2: . $a-method2() . br /\n); print(b1: . $b-method1($a-method1()) . br /\n); print(b2: . $b-method2($a-method2()) . br /\n); print(d1: . $d-otherMethod1($b) . br /\n); print(d2: . $d-otherMethod2($c-echoMethod($a)) . br /\n); // this next line would generate a parse error // print(c:a1: . $c-echo($a)-method1() . br /\n); // this outputs: // a1: 1 // a2: 2 // b1: 11 // b2: 22 // d1: 10 // d2: 2 ? Erik Price Web Developer Temp Media Lab, H.H. Brown [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] objects handling objects
Doh, typo: // this next line would generate a parse error // print(c:a1: . $c-echo($a)-method1() . br /\n); should read // this next line would generate a parse error // print(c:a1: . $c-echoMethod($a)-method1() . br /\n); On Thursday, April 4, 2002, at 05:25 PM, Steve Cayford wrote: On Thursday, April 4, 2002, at 04:21 PM, Erik Price wrote: I looked in the manual, but didn't see anything about this. I've read that PHP isn't a true object-oriented language, but rather simulates elements of object-oriented programming. Can I write a class that performs operations and manipulates objects? Can objects be placed into arrays etc? Erik The real hindrance I've come up against is that you can't do chained method calls, otherwise objects perform pretty well as expected. Keep in mind the difference between passing by reference and by copy, though, or you'll find yourself updating a copy of an object somewhere instead of the original. -Steve Here's some code I was just playing around with: ?php class classA { function method1() { return 1; } function method2() { return 2; } } class classB { function method1($num = 0) { return $num + 10; } function method2($num = 0) { return $num+20; } } class classC { function echoMethod($object) { return $object; } } class classD { function otherMethod1($object) { return $object-method1(); } function otherMethod2($object) { return $object-method2(); } } $a = new classA; $b = new classB; $c = new classC; $d = new classD; print(a1: . $a-method1() . br /\n); print(a2: . $a-method2() . br /\n); print(b1: . $b-method1($a-method1()) . br /\n); print(b2: . $b-method2($a-method2()) . br /\n); print(d1: . $d-otherMethod1($b) . br /\n); print(d2: . $d-otherMethod2($c-echoMethod($a)) . br /\n); // this next line would generate a parse error // print(c:a1: . $c-echo($a)-method1() . br /\n); // this outputs: // a1: 1 // a2: 2 // b1: 11 // b2: 22 // d1: 10 // d2: 2 ? Erik Price Web Developer Temp Media Lab, H.H. Brown [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php