2010-09-05 17 views

Respuesta

1

La única sintaxis Razor-como que PHP tiene algo similar a es lo que creo que se llama "la expansión de variables":

$two = "Two"; 
echo "One $two Three"; 

Resultado:

One Two Three

Pero, ya no puede usar esto fuera de un bloque de PHP o fuera de una cadena doble para ese asunto (al menos no para la forma en que desea usarlo). Esto no funciona:

<?php 
$two = "Two"; 
?> 
<p>One $two Three</p> 

Resultado:

<p>One $two Three</p> 

Otras construcciones de programación PHP fuera de PHP bloques no hacer nada también. Entonces, nada de esto está en paralelo en PHP: http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

+0

A su primer ejemplo le falta un ';' después de la asignación de la cadena. –

+0

@Russell Dias - ¡Gracias, no lo vi! –

+0

Mi php está oxidado, pero no puede usar pqsk

2

Lo más parecido que encontrarás es dentro del motor de plantillas de Fat-Free Framework, pero requiere que uses llaves. En lugar de PHP de verbosa <?php echo $x['y']['z']; ?> o los cortos, los usos de la etiqueta equivalente <?=$x['y']['z']?> libre de grasa {@x.y.z}

1

sólo tenía que mirar "sintaxis Razor" y parece lo suficientemente bueno como para ASP.NET. En PHP, sin embargo, aplicaría algún tipo de marco de plantilla (usualmente utilizo Smarty) para obtener algunas páginas HTML bonitas y limpias con solo un mínimo de estructura de control y referencia de variables.

+3

cada vez que alguien dice "Smarty", tengo que publicar dos enlaces: uno para la alternativa sin grasa, [Dwoo] (http://dwoo.org/) - y otro para mi propio motor ultrafino, [Outline] (http://outline.mindplay.dk/) ... No estoy simplemente enchufando descaradamente mi propio motor aquí - Smarty es un dinosaurio, y hay muchas mejores alternativas a la creación de plantillas con PHP ... –

5

No es una vista similar a motor de la maquinilla de afeitar para el marco Yii:

http://www.yiiframework.com/extension/razorviewrenderer

Es muy simple - no parecen tener ninguna dependencia reales Yii, por lo que no puede imaginarlo sería muy difícil sacar esto de Yii y usarlo en un contexto diferente.

Tenga en cuenta que esto es solo un analizador de plantillas Razor-compila las plantillas de estilo Razor en scripts simples de PHP. Se basa en Yii para el motor de vista real.

6

¡Gracias @ mindplay.dk por vincular a Razor View Renderer para Yii Framework! Quería compartir un hallazgo reciente, Twig (http://www.twig-project.org/) como alternativa si está buscando un motor de plantilla independiente para PHP. No es la sintaxis de Razor, pero es simple y extensible.

He aquí algunos ejemplos del sitio:

Para Cada:

{% for user in users %} 
    * {{ user.name }} 
{% else %} 
    No user has been found. 
{% endfor %} 

& Bloques de herencia:

{% extends "layout.html" %} 

{% block content %} 
    Content of the page... 
{% endblock %} 

Filtros:

{{ "now"|date("m/d/Y") }} 

{{ "I like %s and %s."|format(foo, "bar") }} 
returns: I like foo and bar. (if the foo parameter equals to the foo string) 

Todavía estoy haciendo un desarrollo preliminar & probando con este motor y me está gustando hasta ahora!