Rumah  >  Soal Jawab  >  teks badan

yii2 - (lapisan php sahaja) Bagaimana YAF serasi dengan peraturan penghalaan url [hump action menjadi tanda tolak] YII

Penerangan latar belakang:
1 Dalam yii, terdapat Pengawal berikut

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

2 Dalam yaf, terdapat Pengawal berikut

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

Penerangan masalah:
3 Tanya bagaimana yaf serasi dengan yii, dan akses www.XXX.com/pay/ios-callback, kemudian halaman akan memaparkan hello yaf

Nota: Pada masa ini, penyelesaian yang boleh saya fikirkan ialah menulis semula URL dalam lapisan Nginx, tetapi saya fikir ia bukan penyelesaian terbaik, jadi saya hanya akan membincangkan pelaksanaan lapisan PHP

世界只因有你世界只因有你2690 hari yang lalu646

membalas semua(1)saya akan balas

  • 習慣沉默

    習慣沉默2017-05-19 10:10:38

    Selepas mengkaji kod sumber YII, akhirnya saya menemui peraturan untuk menulis semula penghalaan Kaedahnya adalah seperti berikut

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

    Kaedah pelaksanaan adalah untuk memperkenalkan peraturan ini ke dalam routerShutdown yaf, supaya peraturan penghalaan boleh ditulis semula untuk mencapai tujuan memaparkan hello yaf apabila mengakses 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)));
    }

    balas
    0
  • Batalbalas