Framework entwickelt in "reinem" PHP, indem die Leichtigkeit der Arbeit mit PHP Version 8.2.1 Objektobjektprogrammierung (POO) bewertet wird. Dieses Framework besteht aus der MVC -Architektur (Modell View Controller), die eine einfache Modularität, Skalierbarkeit und Wartung von Websystemen fördert.
#Framework #php #MVC
composer install
php cli -d set
php cli -d load
Hauptfäden am Rahmen:
Das Schema Ihrer Datenbank sollte sich im Ordner database/schema befinden, in dem alle Tabellendateien in die ASC -Erstellungsreihenfolge unterteilt werden müssen.
Auf und ab -Methoden werden für die Interaktion mit Terminalbefehlen definiert. Die IE -UP -Methode dient dazu, diese Interaktion zur Bank zu besteigen, während die Down -Methode, um diese Interaktion auf die Bank zu fallen. Um eine neue Tabelle zu definieren, müssen Sie die Standardisierung unterhalb der UP -Methode befolgen, in der neue Spalten festgelegt werden. Die Tabelle muss nur eine neue Variable $ -Tabelle zuweisen, indem Sie eine Methode des gewünschten Datentyps aufrufen.
Beispiel Up -Methode:
public function up(): void
{
(new Database)->create('nomeDaTabela', function(Blueprint $table) {
$table->id();
$table->varchar('nomeDaColuna', 100)->notNull();
});
}
Down -Methode -Beispiel:
public function down(): void
{
(new Database)->dropIfExists('nomeDaTabela');
}
Dateninsertionsdateien sollten sich im database/information befinden, in dem alle Tabellendateien in die ASC -Erstellungsreihenfolge unterteilt werden müssen.
Wie bei der Erstellung von Tabellen müssen Sie auch die Auf- und Abmethoden definieren.
Beispiel Up -Methode:
public function up(): void
{
(new Database('nomeDaTabela'))->insert([
'nomeDaColuna' => 'valor a ser inserido'
]);
}
Down -Methode -Beispiel:
public function down(): void
{
(new Database('nomeDaTabela'))->delete('id = 1 ');
}
.
| Base | Befehl | Argument | Funktion |
|---|---|---|---|
| PHP CLI | -Db | Satz | Laden Sie database/schema -Tabellen in der Datenbank. |
| PHP CLI | -Db | Fallen | Lassen Sie die database/schema -Tabellen in der Datenbank fallen. |
| PHP CLI | -Db | zurücksetzen | Laden Sie die database/schema -Tabellen in der Datenbank auf. |
| PHP CLI | -Db | laden | Fügen Sie die Informationsdatenbank database/information in die Datenbank ein. |
| PHP CLI | -Db | frisch | Entfernt database/information Informationen aus der Datenbank. |
| Base | Befehl | Argument | Funktion |
|---|---|---|---|
| PHP CLI | -BAUEN | Regler | Erstellt einen neuen Controller im app/Controller -Ordner. |
| PHP CLI | -BAUEN | Modell | Erstellt ein neues Modell im Ordner app/Model/Entity . |
| PHP CLI | -BAUEN | Tisch | Erstellt eine neue Tabelle im Ordner database/schema . |
Dienstprogramm: Um es einfacher zu machen, wenn Sie das argumento:diretorio wird eine neue umbenannte Datei erstellt.
.
Framework -Routen befinden sich im Ordner routes .
Beispiel Common Runde Get:
$obRouter->get('/url/exemplo', [
function($request) {
return new Response(200, PagesHomeController::get($request));
}
]);
Beispiel Dynamic Put Route:
$obRouter->put('/url/exemplo/{id}', [
function($request, $id) {
return new Response(200, PagesHomeController::edit($request, $id));
}
]);
Beispiel Rota mit Middleware Post:
$obRouter->post('/url/exemplo', [
'middlewares' => [
'basic-auth'
],
function($request) {
return new Response(200, PagesHomeController::set($request));
}
]);
.
Anforderungen haben einige Methoden, auf die standardmäßig von Controller zugegriffen werden kann:
Wie kann ich auf diese Methoden zugreifen?
GetPostvars Beispiel:
public function metodoExemplo(Request $request): void
{
$request->getPostVars();
}
.
Modelle sollten sich im Ordner app/Model/Entity befinden.
Jedes Modell hat standardmäßig 4 Methoden:
Deklaration einer Modellklasse: Jedes Modell muss generiert werden, um eine bestimmte Tabelle abzuhalten.
Klassenbeispiel:
class Post
{
public int $id; // coluna id associada no banco
public string $title; // coluna title associada no banco
public string $content; // coluna content associada no banco
public function create(): bool
{
$this->id = (new Database('post'))->insert([
'title' => $this->title, // referenciando nome da coluna com o valor
'content' => $this->content
]);
return true;
}
}
Beispiel für die Methode: Methode:
public function create(): bool
{
$this->id = (new Database('nomeDaTabela'))->insert([
'nomeDaColuna' => $this->atributoDaClasse
]);
return true;
}
Beispiel -Aktualisierungsmethode:
public function update(): bool
{
return (new Database('nomeDaTabela'))->update('nomeDaColuna = '.$this->atributoDaClasse, [
'nomeDaColuna' => $this->atributoDaClasse
]);
}
Beispiel löschen Methode:
public function delete(): bool
{
return (new Database('nomeDaTabela'))->securityDelete('nomeDaColuna = '.$this->atributoDaClasse);
}
Beispiel Methode erhalten:
public static function getTableName(
string $where = null,
string $order = null,
string $limit = null,
string $fields = '*'
): PDOStatement
{
return (new Database('nomeDaTabela'))->select($where, $order, $limit, $fields);
}
.
Middleware ist die Vermittler der Route und befindet sich im Ordner app/Http/Middleware der Anwendung. Sie werden in der Datei include/app.php konfiguriert, in der man für jede Middleware einen einzigen Namen angeben muss.
Alle Middleware müssen eine Standardmethode haben:
Beispiel für Middleware:
class MiddlewareExemplo
{
private function checkStatus(Request $request): void
{
$vars = $request->getPostVars();
if ($vars['status'] == 'error') {
throw new Exception("A página está com erro");
}
}
public function handle(Request $request, Closure $next): Response
{
$this->checkStatus($request); // se o status não estiver com erro carrega a aplicação
return $next($request);
}
}
Middleware einstellen:
MiddlewareQueue::setMap([
'middleware-exemplo' => AppHttpMiddlewareMiddlewareExemplo::class
]);
.
View dient dazu, Variablen zu rendern, die in der HTML deklariert werden, um durch Inhalte aus der Datenbank ersetzt zu werden.
Beispiel Rendering View Inhalte:
public static function getPage(): string
{
// diretorio da pasta: resources/view
return View::render('pasta/exemploArquivoHtml', [
'nomeDaVariavel' => $conteudoAlterado
]);
}
.
Controller sollten sich im app/Controller -Ordner befinden.
Jeder Controller hat standardmäßig 5 Methoden:
Beispiel Methode erhalten:
public static function get(): array
{
$itens = [];
$results = EntityExemplo::getExemplos(); // model Exemplo
while($obExemplo = $results->fetchObject(EntityExemplo::class)) {
$itens[] = [
'nomeDaColuna' => $obExemplo->atributoDaClasse
];
}
return $itens;
}
Beispiel Post -Methode:
public static function set(Request $request): bool
{
$vars = $request->getPostVars();
$obExemplo = new EntityExemplo;
$obExemplo->atributoDaClasse = $vars['valorPost'];
$obExemplo->create();
return true;
}
Beispiel löschen Methode:
public static function delete(Request $request, int $id): bool
{
$vars = $request->getPostVars();
$obExemplo = EntityExemplo::getExemplos('nomeDaColuna = '.$id); // busca o valor pelo id
$obExemplo->delete();
return true;
}
Die Framework -Konfigurationsdatei befindet sich im Ordner includes/app.php der Anwendung.
In der App.php -Datei wird konfiguriert: