yii2 – (nur PHP-Ebene) Wie YAF mit den URL-Routing-Regeln von YII kompatibel ist
世界只因有你
世界只因有你 2017-05-19 10:08:38
0
1
702

Hintergrundbeschreibung:
1. In yii gibt es den folgenden Controller

class PayController extends Controller
{
    public function actionIosCallback()
    {
        echo 'hello yii';
    }
}
访问www.XXX.com/pay/ios-callback,则页面显示hello yii

2. In yaf gibt es die folgenden Controller

class PayController extends Yaf_Controller_Abstract{
    public function actionIosCallback()
    {
        echo 'hello yaf';
    }
}
访问www.XXX.com/pay/iosCallback,则页面显示hello yaf

Problembeschreibung:
3. Fragen Sie, wie yaf mit yii kompatibel ist, und rufen Sie www.XXX.com/pay/ios-callback auf, dann wird auf der Seite „Hallo yaf“ angezeigt

Hinweis: Die Lösung, die mir derzeit einfällt, besteht darin, die URL in der Nginx-Ebene neu zu schreiben, aber ich denke, dass dies nicht die beste Lösung ist, daher werde ich nur die Implementierung der PHP-Ebene besprechen

世界只因有你
世界只因有你

Antworte allen(1)
習慣沉默

经过对YII源码的研究,终于找到了它改写路由的规则了,方式如下

str_replace(' ', '', ucwords(str_replace('-', ' ', $action)))

实现方法为将此规则引入到yaf的routerShutdown,即可改写路由规则,达到访问www.XXX.com/pay/ios-callback,则页面显示hello yaf的目的

public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
$request->controller = str_replace(' ', '', ucwords(str_replace('-', ' ', $request->controller)));
$request->action = str_replace(' ', '', ucwords(str_replace('-', ' ', $request->action)));
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage