배경: PHP 프레임워크가 사용되지 않습니다
일시적인 필요로 인해 php에서 메소드를 호출하려면 ajax가 필요합니다. 저는 단순히 php 파일을 작성했습니다. 이 파일은 ajax를 사용하여 동일한 php 파일의 다른 메소드를 호출하는 방법을 정의합니다.
다음은 abc.php 파일입니다. 제가 정의한 a 메소드와 b 메소드
<code><span><span><?php</span><span><span>class</span><span>abc</span> {</span><span><span>function</span><span>a</span><span>()</span>{</span><span>echo</span> something; } <span><span>function</span><span>b</span><span>(<span>$args</span>)</span>{</span><span>echo</span> something; } } } <span>?></span></span></code>
다음은 Controller.php 입니다. 이 파일은 다른 특정 기능 클래스를 호출하여 중추적인 역할을 하는 컨트롤러입니다. role.reflection을 통해 주로 달성
<code><span><span><?php</span><span>if</span> (!<span>empty</span>(<span>$_REQUEST</span>[<span>'action'</span>])) { <span>try</span> { <span>$action</span> = explode(<span>'/'</span>, <span>$_REQUEST</span>[<span>'action'</span>]); <span>$class_name</span> = <span>$action</span>[<span>0</span>]; <span>$method_name</span> = <span>$action</span>[<span>1</span>]; <span>require</span><span>$class_name</span> . <span>'.php'</span>; <span>$class</span> = <span>new</span> ReflectionClass(<span>$class_name</span>); <span>if</span> (class_exists(<span>$class_name</span>)) { <span>if</span> (<span>$class</span>->hasMethod(<span>$method_name</span>)) { <span>$func</span> = <span>$class</span>->getmethod(<span>$method_name</span>); <span>$instance</span> = <span>$class</span>->newInstance(); <span>$func</span>->invokeArgs(<span>$instance</span>, <span>array</span>(<span>$_REQUEST</span>)); } } } <span>catch</span> (<span>Exception</span><span>$exc</span>) { <span>echo</span><span>$exc</span>->getTraceAsString(); } } <span>?></span></span></span></code>
ajax 호출을 사용할 때 abc.php의 a 메소드만 호출하려면 다음 작성 방법을 사용하세요.
<code>$.ajax({ type:<span>"POST"</span>, url: <span>'Controller.php?action=abc/a'</span>, dataType: <span>'json'</span>, success: <span><span>function</span><span>(data)</span> {</span> } });</code>
필요한 경우 매개변수를 전달하려면 다음과 같이 작성하여 호출할 수 있습니다.
<code>$.ajax({ <span><span>type</span>:"<span>POST</span>",</span> url: '<span>Controller</span>.php', <span><span>data</span>:<span>{ <span>action</span>=<span>abc</span>/<span>b</span>, 参数1: 123, 参数2: 456}</span></span> dataType: 'json', success: function(<span><span>data</span>) <span>{ }</span></span> });</code>
위 내용은 ajax와 PHP의 내용을 포함하여 프론트엔드 ajax 호출을 위한 PHP 모듈화 구현을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.