AddressForAll / site-v1

Código-fonte das páginas institucionais
http://AddressForAll.org
1 stars 2 forks source link

Controle pelo NGINX + index #5

Open ppKrauss opened 4 years ago

ppKrauss commented 4 years ago

O site terá suas URLs gerenciadas pelo NGINX, via proxy de redirecionamento para localhost/index.php?p=NomeDaPagina. Ou seja, o index contém a lógica de controle (MVC dispatch).

Certo

O arquivo quemsomos.inc.php é incluso pelo index.php com um simples interpretador de GET.

<?php
  // CONTROLLER:
  $nomeDaPagina = isset($_GET['uri'])? trim($_GET['uri'],'/'): '';
  if (!$nomeDaPagina)  $nomeDaPagina = 'home';
  // if ($nomeDaPagina ~ redir) {header('Location: $base/$nomeDaPagina '); exit;}
?>
<html> 
.... header ...
<?php include_once("$nomeDaPagina.inc.php"); ?>
.... footer ...
</html>

O linnk entre páginas pode aguardar instalação com NGINX, ou seja, não funcionaria num primeiro teste, seria <a href="/quemsomos">Quem Somos</a>. Importante portanto usar os nomes corretos, presentes no ls *.inc.php da pasta onde se encontram.

Errado

O arquivo quemsomos.inc.php deveria conter apenas conteúdo. Comandos PHP apenas se forem cálculos ou plugins.

<?php include_once("header.php"); ?>
...
<section id='quem-somos' class="main">
...
</section>
<?php include_once("footer.php"); ?>

Testes preliminares em https://addressForAll.herokuapp.com/

No NGINX do server_name addressforall.org será configurado "catch-all" substituindo o =403 usual:

        location / {
          try_files   $uri  $uri/  /index.php?uri=$uri;
        }

Desse modo o catch-all NGINX alimenta o controller PHP das URIs relativas à navegação pelo site.

ppKrauss commented 4 years ago

Em avaliação páginas institucionais em Markdown

Como já está no escopo do projeto usar mkdocs e pandoc, a transformação de READMEs e demais textos visiveis no Github da documentação, podemos incluir as páginas institucionais, através de regra simples e gerador: