03.12.2015 Views

laravel4cookbook

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

File-Based CMS 314<br />

Here we’re rendering a page template (with the help of a minify method). It’s just like what we did<br />

before. Let’s add some metadata, and pull it out of the template before rendering:<br />

1 protected function extractMeta($html)<br />

2 {<br />

3 $parts = explode("==", $html, 2);<br />

4<br />

5 $meta = "";<br />

6 $html = $parts[0];<br />

7<br />

8 if (count($parts) > 1)<br />

9 {<br />

10 $meta = $parts[0];<br />

11 $html = $parts[1];<br />

12 }<br />

13<br />

14 return [<br />

15 "meta" => $meta,<br />

16 "html" => $html<br />

17 ];<br />

18 }<br />

19<br />

20 protected function parseMeta($meta)<br />

21 {<br />

22 $meta = trim($meta);<br />

23 $lines = explode("\n", $meta);<br />

24 $data = [];<br />

25<br />

26 foreach ($lines as $line)<br />

27 {<br />

28 $parts = explode("=", $line);<br />

29 $data[trim($parts[0])] = trim($parts[1]);<br />

30 }<br />

31<br />

32 return $data;<br />

33 }<br />

34<br />

35 public function indexAction()<br />

36 {<br />

37 $parts = $this->extractMeta("<br />

38 title = Laravel 4 File-Based CMS<br />

39 message = Hello world<br />

40 ==

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!