Closed ArshSoni closed 7 years ago
Hi, if you use Phalcon, Symfony, Laravel or CodeIgniter, just implement the adapter: https://github.com/pug-php/pug#pug-in-your-favorite-framework
If you use raw PHP, take a look at the example: https://github.com/pug-php/pug/tree/master/example
Thanks,
At the moment I am using .pug files and just compiling them using terminal. I am not using php classes but just php functions. I can't seem to understand the instructions on the readme page.
There is something about adding something to the 'jade construction' where is that? how do I get/create that
First, you have to understand you can buuild some simple applications entirely in .pug files but you should not. Pug is a template engine. To get the benefit of a template engine you should at least split the logic and the view. Pug should only be for your views. What we usualy call a controller calculate data, then pug will just display this data, in the example (https://github.com/pug-php/pug/tree/master/example), bootstrap.php is a small home-made framework and index.php is the router and controller that use it, but there is no problem to do a procedural framework, the controller-part is totally on your own. Maybe this example with no classes can help you:
index.php
<?php
// Load Composer auload and Pug:
include __DIR__ . '/vendor/autoload.php';
$pug = new \Pug\Pug();
$data = array(
'view' => isset($_GET['view']) ? $_GET['view'] : null,
);
switch ($data['view']) {
case 'contact':
break;
case 'date':
$data['date'] = date('d/m/Y');
break;
default:
$data['view'] = 'home';
}
echo $pug->render($data['view'] . '.pug', $data);
layout.pug
mixin menuLink(goTo)
if $view == $goTo
b
block
else
a(href="?view=" . $goTo)
block
doctype html
html(lang="en")
head
title My blog
body
nav
+menuLink("home") Home
+menuLink("date") Date
+menuLink("contact") Contact
block page
contact.pug
extends layout
block page
h1 Contact me
p at foo@bar.com
date.pug
extends layout
block page
h1
| Today is
=date
home.pug
extends layout
block page
h1 Welcome home
I'm trying to use the Readme but I can't seem to understand how to get this to work.
I have pug/jade already installed and that works. I've used the composer require etc and I have the composer files in my project. Where do I go from there?