Slim 프레임 워크에 정의 된 경로에서 동적 드롭 다운 메뉴를 작성하려고합니다. 여기에 제 질문이 있습니다. 일종의 배열에서 정의 된 모든 정적 경로에 액세스하는 방법이 있습니까?슬림 3 PHP 프레임 워크에서 모든 경로에 액세스하는 방법?
예를 들어,이 같은 내 경로를 정의하는 경우 :
// Index page: '/'
require_once('pages/main.php');
// Example page: '/hello'
require_once('pages/hello.php');
// Example page: '/hello/world'
require_once('pages/hello/world.php');
// Contact page: '/contact'
require_once('pages/contact.php');
각 파일이
// Index page
$app->get('/', function ($request, $response, $args) {
// Some code
})->setName('index');
내가에서 이러한 정의 경로의 모든 접근하고 싶습니다과 같은 별도의 페이지입니다 일종의 배열을 만든 다음 그 배열을 사용하여 템플릿 파일에서 정렬되지 않은 HTML 목록을 만듭니다.
<ul>
<li><a href="/">Index</a></li>
<li><a href="/hello">Hello</a>
<ul>
<li><a href="/hello/world">World</a></li>
</ul>
</li>
<li><a href="/contact">Contact</a></li>
</ul>
정의 된 경로를 변경할 때마다이 메뉴를 변경하고 싶습니다. 이것을 달성 할 수있는 방법이 있습니까?
하지만'Route' [objects] (https://github.com/slimphp/Slim/blob/3.x/Slim/Route.php)의 무리를 반환합니다. 이것은 아마도 OP가 필요로하지 않는 것일 것입니다 . –
@GeorgyIvanov 예. 그러나 배열을 반복하면서 인쇄 할 각 객체의 속성을 선택할 수 있습니다. – Wolf
이것은 내가 원하는대로 작동하는 것 같습니다. 감사합니다 늑대! 나는 모든 페이지가'require_once'로로드 된 후 PHP 파일에'$ container [ 'allRoutes'] = $ app-> getContainer() -> router-> getRoutes();를 넣고 사용하도록했습니다 '$ routes = $ this-> allRoutes; '페이지에서. 이 접근법은 괜찮습니까? –