Recommend this page to a friend! |
![]() |
Info | Documentation | ![]() |
![]() |
![]() |
Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2025-01-11 (2 months ago) ![]() | Not enough user ratings | Total: 23 This week: 6 | All time: 11,291 This week: 7![]() |
Version | License | PHP version | Categories | |||
personal 1.0.0 | MIT/X Consortium ... | 5 | PHP 5, Content management, Business, A... |
Description | Author | |
This package can generate a portfolio site. |
|
Este projeto é um site de portfólio dinâmico desenvolvido com PHP puro, utilizando o padrão MVC clássico e sem arquitetura REST. O objetivo do site é oferecer um layout moderno e funcional, onde o conteúdo é gerenciado de forma dinâmica por uma área administrativa, ideal para exibir projetos, habilidades e informações de contato.
O site desenvolvido com as seguintes tecnologias e ferramentas:
O League\Plates é uma biblioteca de templates leve e eficiente para PHP. Utilizamos essa ferramenta para separar a lógica da apresentação, permitindo:
No projeto, utilizamos o League\Plates\Engine
para renderizar templates de forma dinâmica. Aqui está um exemplo:
Configuração da Engine no Backend:
use League\Plates\Engine;
class View
{
public static function render($template, $data = [])
{
$engine = new Engine(__DIR__ . '/../views');
echo $engine->render($template, $data);
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= $title ?? 'Portfolio Website' ?></title>
<link rel="stylesheet" href="/assets/css/styles.css">
</head>
<body>
<header>
<?= $this->insert('partials/header') ?>
</header>
<main>
<?= $this->section('content') ?>
</main>
<footer>
<?= $this->insert('partials/footer') ?>
</footer>
</body>
</html>
detalhe importante (sistema de templates) https://platesphp.com/
class Portifolio{
public function index()
{
$projects = Project::all();
View::render('portfolio', [
'title' => 'My Portfolio',
'projects' => $projects,
]);
}
}
Menu Dinâmico: Gerado com base em configurações do backend. Filtros de Portfólio: Filtragem de projetos por categoria (Design, Fotos, Arte, etc.). Área de Contato: Formulário funcional para envio de mensagens. Layout Responsivo: Compatível com dispositivos móveis e desktops. Área Administrativa: Para gerenciar conteúdo do portfólio.
A organização do projeto segue uma estrutura simples e eficiente:
project/
??? app/
? ??? controllers/
? ??? database/
? ? ??? models/
? ? ??? Model.php
? ? ??? Connection.php
? ? ??? Transaction.php
? ??? models/
? ??? views/
? ??? admin/
? ??? auth/
? ??? pages/
? ??? partial/
?
??? vendor/
??? public/
? ??? assets/
? ??? css/
? ??? js/
? ??? images/
? ??? index.php
??? .env
Clone o repositório:
git clone https://github.com/faustinopsy/personal.git
arquivo .env
STRIPE_KEY=token do striper se for receber dinhero
DATABASE_NAME=a01_teste
DATABASE_HOST=localhost
DATABASE_USER=root
DATABASE_PASSWORD=root123
BASE_URL=http://localhost:1230
EMAIL=conta de email
SENHA=senha para envio de email
APP_SECRET_KEY=53xy69
composer install
php -S localhost:8000 -t public
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.
Este projeto é licenciado sob a MIT License.
![]() |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Doc. | Documentation | ||
![]() ![]() |
Data | Auxiliary data |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
![]() |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.