Ben çakmaktaşı kullanarak bir şeyler yapmak çalışılıyor sağlanması (Symfony'nin yönlendirme bileşeni kullanır - bu yüzden cevap yanı Symfony'de için geçerli olabilir)Yönlendirme. Varsayılan yolu
Ben yönlendirmeyi sağlamak için bir eski uygulamalara silex ekliyorum ama Dosyaları yüklemek için varolan uygulamaların varsayılan uygulamasına saygı göstermem gerekiyor (bu sadece dosyayı belirtilen URL'den dosya sisteminden yüklemektir).
düzenleme: açıklama için: Varolan dosya, bir önyükleme çağrısı dizisi yapıldıktan sonra, bir üst şablonun içine dahil olarak dosya sisteminden yüklenir.
Bulduğum şey, eski sayfalarla eşleşecek tanımlanmış bir yolun yokluğunda, Silex'in bir istisna atmasıdır.
Bu eski sayfalar için varsayılan (geri dönüş) bir mekanizma sağlama yöntemine gerçekten ihtiyacım var - ancak desenimin tüm URL ile eşleşmesi gerekiyor (yalnızca bir parça değil).
Bu mümkün mü?
// Include Silex for routing
require_once(CLASS_PATH . 'Silex/silex.phar');
// Init Silex
$app = new Silex\Application();
// route for new code
// matches for new restful interface (like /category/add/mynewcategory)
$app->match('/category/{action}/{name}/', function($action, $name){
//do RESTFUL things
});
// route for legacy code (If I leave this out then Silex
// throws an exception beacuse it hasn't matched any routes
$app->match('{match_the_entire_url_including_slashes}', function($match_the_entire_url_including_slashes){
//do legacy stuff
});
$app->run();
Bu yaygın bir kullanım durumu olmalıdır. Ben eski kodunun yanına bir RESTFUL arayüze sahip bir yolunu sağlamak için çalışıyorum (yük /myfolder/mysubfolder/my_php_script.php)
bulundu url, index.php dosyanıza url eşleştirmeden mi? garip geliyor ... – mpm
@camus Hayır, çünkü uygulamayı önyükleme yapmak için (güvenlik, veritabanı bağlantısı vb.) uygulamadaki her isteği ön denetleyiciden yönlendirmem gerekiyordu. edit: Sorunun cevabını – calumbrodie