This is a template system to let you to use PHP templates inside of Phoenix Framework.
The package can be installed by adding ephp_template
to your list of dependencies in mix.exs
:
def deps do
[
{:ephp_template, "~> 0.1.0"}
]
end
In addition to this you can add to the configuration file:
config :phoenix, :template_engines,
php: Ephp.Template
This way you can create PHP files inside of the template directories and use them in the same way as .html.eex
files.
Usually from the controllers you can send data to the templates (and views). PHP cannot use the specific functions defined by Phoenix Framework but you can use all of the PHP functions available by default by the ephp project.
The assigns will be included as normal variables inside of PHP. For example, using this controller:
defmodule PhptestWeb.PageController do
use PhptestWeb, :controller
def index(conn, _params) do
render conn, "index.html",
user: "admin",
data: [%{"a" => 10, "b" => 20}, %{"a" => 11, "b" => 21}]
end
end
You'll have access to $user
and $data
variables in the template. You can create the file index.html.php
and then do whatever you need.
Maybe it's not needed but you have populated $_SERVER
(not completely), $_REQUEST
(and $_GET
and $_POST
as well), $_ENV
and $_COOKIE
.
If you want to support the project to advance faster with the development you can make a donation. Thanks!
Enjoy!