Skip to content

Commit 6671171

Browse files
committed
Add JSON view for packets
1 parent 24ac9dd commit 6671171

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/main.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,9 @@ function main() {
165165
$router->addRoute( // URL: /news/delete
166166
"#^/news/delete/?$#", "News\\Delete", "News\\DeleteHtml"
167167
);
168+
$router->addRoute( // URL: /packet/:id.json
169+
"#^/packet/(\d+)/?.*\.json$#", "Packet\\View", "Packet\\ViewJSON"
170+
);
168171
$router->addRoute( // URL: /packet/:id.txt
169172
"#^/packet/(\d+)\.txt#", "Packet\\View", "Packet\\ViewPlain"
170173
);

src/views/Packet/ViewJSON.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace BNETDocs\Views\Packet;
4+
5+
use \BNETDocs\Models\Packet\View as PacketViewModel;
6+
7+
use \CarlBennett\MVC\Libraries\Common;
8+
use \CarlBennett\MVC\Libraries\Exceptions\IncorrectModelException;
9+
use \CarlBennett\MVC\Libraries\Model;
10+
use \CarlBennett\MVC\Libraries\View;
11+
12+
class ViewJSON extends View {
13+
14+
public function getMimeType() {
15+
return 'application/json;charset=utf-8';
16+
}
17+
18+
public function render( Model &$model ) {
19+
if ( !$model instanceof PacketViewModel ) {
20+
throw new IncorrectModelException();
21+
}
22+
echo json_encode( $model->packet, Common::prettyJSONIfBrowser() );
23+
}
24+
25+
}

0 commit comments

Comments
 (0)