yii2 - (couche PHP uniquement) Comment YAF est-il compatible avec les règles de routage d'URL [l'action de bosse devient un signe moins] de YII
世界只因有你
世界只因有你 2017-05-19 10:08:38
0
1
680

Description de l'arrière-plan :
1. Dans yii, il y a les contrôleurs suivants

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

2. Dans yaf, il y a les contrôleurs suivants

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

Description du problème :
3. Demandez comment yaf est compatible avec yii et accédez à www.XXX.com/pay/ios-callback, puis la page affichera bonjour yaf

Remarque : Actuellement, la solution à laquelle je peux penser est de réécrire l'URL dans la couche Nginx, mais je pense que ce n'est pas la meilleure solution, je ne discuterai donc que de l'implémentation de la couche PHP

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

répondre à tous(1)
習慣沉默

Après avoir étudié le code source de YII, j'ai enfin trouvé les règles de réécriture du routage. La méthode est la suivante

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

La méthode d'implémentation consiste à introduire cette règle dans le routerShutdown de yaf, afin que les règles de routage puissent être réécrites pour atteindre l'objectif d'afficher hello yaf sur la page lors de l'accès à www.XXX.com/pay/ios-callback

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)));
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal