<?php
////
// Цепочка вызовов
class MethodsChain {
function __construct( $words ) {
$this -> var = $words ;
}
function to_upper_case( ) {
return $this ;
// Чтобы это сработало, нужно вернуть объект.
}
function to_lower_case( ) {
return $this ;
}
}
$check = new MethodsChain( 'Wanna see you in lower' ) ;
print "Традиционный для PHP стиль\n " ;
print "В верхний регистр\n " ;
$check -> to_upper_case ( ) ;
print "\n В нижний регистр\n " ;
$check -> to_lower_case ( ) ;
print "\n Цепочка методов\n " ;
$check -> to_upper_case ( ) -> to_lower_case ( ) ;
// у объекта который вернется после $check->to_upper_case() должен
// быть метод to_lower_case()
PD9waHAKLy8vLwovLyDQptC10L/QvtGH0LrQsCDQstGL0LfQvtCy0L7QsgoKY2xhc3MgTWV0aG9kc0NoYWluIHsKCQoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHdvcmRzKSB7CgkJJHRoaXMtPnZhciA9ICR3b3JkczsKCX0KCglmdW5jdGlvbiB0b191cHBlcl9jYXNlKCkgewoJCSR0aGlzLT52YXIgPSBzdHJ0b3VwcGVyKCR0aGlzLT52YXIpOwoJCXJldHVybiAkdGhpczsKCQkvLyDQp9GC0L7QsdGLINGN0YLQviDRgdGA0LDQsdC+0YLQsNC70L4sINC90YPQttC90L4g0LLQtdGA0L3Rg9GC0Ywg0L7QsdGK0LXQutGCLgoJfQoKCWZ1bmN0aW9uIHRvX2xvd2VyX2Nhc2UoKSB7CgkJJHRoaXMtPnZhciA9IHN0cnRvbG93ZXIoJHRoaXMtPnZhcik7CgkJcmV0dXJuICR0aGlzOwoJfQoKfQoKJGNoZWNrID0gbmV3IE1ldGhvZHNDaGFpbignV2FubmEgc2VlIHlvdSBpbiBsb3dlcicpOwoKcHJpbnQgItCi0YDQsNC00LjRhtC40L7QvdC90YvQuSDQtNC70Y8gUEhQINGB0YLQuNC70YxcbiI7CnByaW50ICLQkiDQstC10YDRhdC90LjQuSDRgNC10LPQuNGB0YLRgFxuIjsKJGNoZWNrLT50b191cHBlcl9jYXNlKCk7CnZhcl9kdW1wKCRjaGVjay0+dmFyKTsKCnByaW50ICJcbtCSINC90LjQttC90LjQuSDRgNC10LPQuNGB0YLRgFxuIjsKJGNoZWNrLT50b19sb3dlcl9jYXNlKCk7CnZhcl9kdW1wKCRjaGVjay0+dmFyKTsKCnByaW50ICJcbtCm0LXQv9C+0YfQutCwINC80LXRgtC+0LTQvtCyXG4iOwokY2hlY2stPnRvX3VwcGVyX2Nhc2UoKS0+dG9fbG93ZXJfY2FzZSgpOwogIC8vINGDINC+0LHRitC10LrRgtCwINC60L7RgtC+0YDRi9C5INCy0LXRgNC90LXRgtGB0Y8g0L/QvtGB0LvQtSAkY2hlY2stPnRvX3VwcGVyX2Nhc2UoKSDQtNC+0LvQttC10L0KICAvLyDQsdGL0YLRjCDQvNC10YLQvtC0IHRvX2xvd2VyX2Nhc2UoKQp2YXJfZHVtcCgkY2hlY2stPnZhcik7Cg==