이 의심은 Tp의 ajaxReturn 메소드로 인해 발생합니다. 다른 프레임워크에서도 이 메소드를 배우고 싶지만 몇 가지 문제가 발생했습니다
<code>class A { public $num = 2; public function return_num() { return $this->num; } } class B extends A{ public function return_A_mum() { $this->return_num(); echo 222; //这里不让他运行 } } $B = new B(); $a = $B->return_A_mum(); echo $a; /* 这里输出$a是222; */ </code>
tp
을 사용해 본 학생들은 $this->ajaxReturn
앞에 return
를 추가할 필요가 없다는 것을 알고 있으며, 내 코드가 A
클래스에서 num
값을 반환하려면 다음과 같이 해야 합니다. 클래스 A에서 호출됨 클래스 B의 return_num
메서드 앞에는 return
이 수행됩니다. TP
하위 클래스는 상위 클래스의 메서드를 호출하여 데이터를 가져오고 다음 코드의 실행을 중지합니다. 서브클래스?
<code>class A { public $num = 2; public function return_num() { return $this->num; } } class B extends A{ public function return_A_mum() { $this->return_num(); echo 222; //这里不让他运行 } } $B = new B(); $a = $B->return_A_mum(); echo $a; /* 这里输出$a是222; */ </code>
을 사용해 본 학생들은 tp
앞에 $this->ajaxReturn
를 추가할 필요가 없다는 것을 알고 있으며, 내 코드가 return
클래스에서 A
값을 반환하려면 다음과 같이 해야 합니다. 클래스 A에서 호출됨 클래스 B의 num
메서드 앞에는 return_num
이 수행됩니다. return
하위 클래스는 상위 클래스의 메서드를 호출하여 데이터를 가져오고 다음 코드의 실행을 중지합니다. 서브클래스? TP
일부 특정 출력에는 형식 요구 사항이 있으므로 이러한 메소드에는 가장 일반적으로 사용되는 json, xml 등과 같은 내장 종료가 있는 경우가 많습니다. ones URL 점프. 점프 명령을 전송하려면 헤더 기능을 사용한 후 종료해야 합니다. 그렇지 않으면 나중에 많은 출력이 출력됩니다.
매우 독특한 프레임워크인 Yii에는 $controller->redirect()와 $controller->redirectAndExit() 두 가지 메소드가 있는 것 같습니다. 모르는 사람들이 전자를 호출하면 비참하게 죽을 것입니다.
json을 반환하는 작업입니다. 반환하지 않으면 json 뒤에 추가 문자가 추가되어 데이터 형식이 불법이 될 가능성이 높습니다.
<code class="php">protected function ajaxReturn($data) { // 返回JSON数据格式到客户端 包含状态信息 header('Content-Type:application/json; charset=utf-8'); exit(json_encode($data)); }</code>
출력2
<code>class A { public $num = 2; public function return_num() { return $this->num; } } class B extends A { public function return_A_mum(&$data) { $data = $this->return_num(); } } $B = new B(); $B->return_A_mum($a); echo $a;</code>원하는 효과인지 확인