اذهب إلى المحتوى
  • 0

طباعة المسارات routes في لارافل

Amir Alsaeed

السؤال

لدي جدول يقوم بعرض بيانات عن المسارات التي يتم استخدامها حالياً في المشروع للمستخدم. ومن ضمن المعلومات أن يتم طباعة المسارات مثال:

/home
/users
/logout
...

 

كيف يمكنني طباعة جميع المسارات الموجودة في المشروع بشكل برمجي في لارافل؟

حاولت استخدام Route::getRoutes، ولكنها تعيد غرض من خلاله لا استطيع الوصول إلى معلومات المسارات بشكل مباشر.

كيف أستطيع تحقيق ذلك؟ هل يوجد طريقة أخرى؟

تم التعديل في بواسطة Amir Alsaeed
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك ذلك من خلال Route::getRoutes(); حيث أن هذه تقوم بارجاع كولكشن فيه جميع المسارات ولعرض جميع المسارات نقوم بالمرور عليه باستخدام foreach فيكون شكل الكود كالتالي

$routeCollection = Route::getRoutes();

foreach ($routeCollection as $value) {
    echo $value->getPath();
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك استخدام getRoutes لعرض جميع المسارات , ويمكنك جلب HTTP Method, Route , Name ايضا Corresponding Action من خلال عرض هذه المعلومات في جدول فيمكنك وضع مسار فليكن مثلاً 

Route::get('routes', function() {
	// ..
});

ثم تقوم بجلب 

$routeCollection = Route::getRoutes();

ثم تقوم بعرض المعلومات التي تحتاجها في جدول بهذا الشكل 

echo "<table style='width:100%'>";
        echo "<tr>";
            echo "<td><h4>HTTP Method</h4></td>";
            echo "<td><h4>Route</h4></td>";
            echo "<td><h4>Name</h4></td>";
            echo "<td><h4>Corresponding Action</h4></td>";
        echo "</tr>";
        foreach ($routeCollection as $value) {
            echo "<tr>";
                echo "<td>" . $value->getMethods()[0] . "</td>";
                echo "<td>" . $value->getPath() . "</td>";
                echo "<td>" . $value->getName() . "</td>";
                echo "<td>" . $value->getActionName() . "</td>";
            echo "</tr>";
        }
    echo "</table>";

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكن الوصول للمسارات من خلال RouteServiceProvider ضمن الدالة التالية booted:

$this->booted(function () {
	dump(Route::getRoutes());
}

ويمكن تعريف مسار خاص للتأكد من المسارات كالتالي:

حيث نعتمد على route:list في artisan

Route::get('routes', function() {
     \Artisan::call('route:list');
     return \Artisan::output();
});

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...