Ben laravel için yeniyim ve tüm denetleyicilerin listesini ve bu denetleyicideki eylem listesini almak istiyorum. Sadece tüm Denetleyicilerin bir listesini ve tüm Yöntemlerini kodla almanın bir yolu olup olmadığını bilmek ister misiniz?Tüm denetleyicilerin ve eylemlerin listesini alın laravel 5
cevap
Denetleyici eylemlerini bilmeniz gerekliliğini nasıl açıkladığınıza göre, eylemler zaten yollarla eşlenmiş gibi görünmektedir; bu, eşlenen denetleyicilerin ve eylemlerin listesini almak için rotaları kullanabileceğiniz anlamına gelir. Bu gerekmez eşleştirilmiş Kapatmaları sahip yolları dikkate almaz
$controllers = [];
foreach (Route::getRoutes()->getRoutes() as $route)
{
$action = $route->getAction();
if (array_key_exists('controller', $action))
{
// You can also use explode('@', $action['controller']); here
// to separate the class name from the method
$controllers[] = $action['controller'];
}
}
: Aşağıdaki kod kayıtlı rota denetleyici eylemleri bir dizi üretecektir. Unutmayın, üçüncü taraf paketler tarafından kaydedilen rotalardan herhangi bir eşleşmeyi filtrelemeniz gerekebilir.
İyi şeyler. Oldukça iyi çalışıyor. Paylaşım için teşekkürler. – TodStoychev
Ayrıca bu şekilde alabilirsiniz. $ route = Route :: getRoutes(); –
bu çalıştırmayı deneyin
sayesinde DJ:
$classes = get_declared_classes();
foreach ($classes as $class) {
if (is_subclass_of($class, 'App\Http\Controllers\Controller')) {
echo $class . '<br />';
$methods = get_class_methods($class);
foreach ($methods as $method)
echo '--- ' . $method . '<br />';
}
}
Gelmeli çıktı tüm kontrolörler (Kontrolör sınıfından miras şey) ve metodları.
Yine de hangi yöntemlerin gerçek denetleyici eylemleri olduğunu nasıl anlatacağımı bilmiyorum. "Get", "post" veya "any" ile başlayanlar olacak kontrolör rotalarını kullanırsanız, ancak doğrudan bağlantı kullanıyorsanız, durum böyle değildir.
Hi @MaGnetas çalıştı, bu bana denetleyiciyle bağlanmış tüm yöntemlerin listesini döndürecektir, örneğin, denetleyicimde yalnızca 3 yöntem beyan ettim, ancak 28 eylem gerçekleştiriyor. – Deejay
Tek sorun bu olsaydı, yalnızca tanımlı (mirassız) yöntemleri bu şekilde ayıklayabilirsiniz: http://stackoverflow.com/questions/3712671/get-only-declared-methods-of-a-class-in- php – MaGnetas
public static function Controllers()
{
$controllers = require_once base_path('vendor/composer/autoload_classmap.php');
$controllers = array_keys($controllers);
$controllers = array_filter($controllers, function ($controller) {
return strpos($controller, 'App\Http\Controllers') !== false;
});
$controllers = array_map(function ($controller) {
return str_replace('App\Http\Controllers\\', '', $controller);
}, $controllers);
return $controllers;
}
- 1. Tüm istekleri laravelde ele alın 5
- 2. Laravel 5 ve Laravel 4
- 3. Denetleyici laravel 5'de useragent alın php
- 4. Bir nesnenin tüm özellikleri listesini alın
- 5. Tüm oyun alanlarının bir listesini alın
- 6. Laravel 5 in Laravel 5 nasıl yapılandırılır?
- 7. Tüm Özelliklere Sahip Laravel Modellerini Alın
- 8. Laravel 5
- 9. Laravel 5 ve AJAX yanıtları
- 10. Laravel 5
- 11. TreeView Denetimleri'nde tüm ağaç düğümlerinin (tüm düzeylerde) bir listesini alın
- 12. state_machine durumlarının listesini alın
- 13. JQL: Sprintlerin listesini alın
- 14. laravel 5 Ajax Mesaj rota
- 15. Django formundan alanların ve widgetlerin listesini alın
- 16. Denetleyicilerin Yukarı ve Aşağı işlevleri nelerdir?
- 17. Laravel 5 image resize
- 18. required_if Laravel 5 onayı
- 19. ekleme değeri laravel 5
- 20. Laravel 5 Elixir, DESS
- 21. Laravel 5: blade'de parametre
- 22. Laravel 5 - garip oturumlar
- 23. laravel 5 - Görünüm [ev]
- 24. laravel 5 datepicker dilli
- 25. Laravel 5 güncelleme olmadan
- 26. Sekmelerdeki eylemlerin çökmesi ActionBar
- 27. FTP sunucusundan dosyaların listesini alın
- 28. laravel 5: ürün ve özellikli ürünler
- 29. Satır ve sınırlama sonucu, Laravel 5
- 30. Laravel 5 Blade
Bazı web hizmeti işlerini gerçekleştirmek için ne yapmak istiyorsunuz? –
Merhaba @KA_lin Görevlere göre eylemlere ve denetleyicilere erişime izin vermek istediğim erişim ile ilgili bir sistem yapıyorum. Süper yöneticinin denetleyiciyi ve ilgili eylemi seçebileceği bir ekrana sahip olacağım ve özel rotanın bu rotaya erişimi verilecek. – Deejay
Bu, sorunuzu kısa bir okumadan yanıtlayabilir: http://stackoverflow.com/questions/16672064/laravel-roles-and-authentication-to-routes –