PHP 버전 8.2.1 객체 객체 프로그래밍 (POO) 으로 작업의 용이성을 평가함으로써 "Pure"PHP에서 개발 된 프레임 워크. 이 프레임 워크는 웹 시스템의 모듈성, 확장 성 및 유지 관리를 촉진하는 MVC (Model View Controller) 아키텍처로 구성됩니다.
#FRAMEWORK #PHP #MVC
composer install
php cli -d set
php cli -d load
프레임 워크에 대한 주요 의심 :
데이터베이스의 체계는 database/schema 폴더에 있어야하며 모든 테이블 파일을 ASC 생성 순서로 분리해야합니다.
위 및 하향 방법은 터미널 명령과의 상호 작용을 위해 정의되며, 즉, UP 방법은 이 상호 작용을 은행과 상승시키는 반면,이 상호 작용을 은행에 삭제하는 방법 . 새 테이블을 정의하려면 UP 메소드 아래의 표준화를 따라야합니다. 새 열 설정 위치 테이블은 원하는 데이터 유형의 메소드를 호출하여 새 변수 $ 테이블 만 할당해야합니다.
예제 UP 방법 :
public function up(): void
{
(new Database)->create('nomeDaTabela', function(Blueprint $table) {
$table->id();
$table->varchar('nomeDaColuna', 100)->notNull();
});
}
다운 방법 예 :
public function down(): void
{
(new Database)->dropIfExists('nomeDaTabela');
}
데이터 삽입 파일은 database/information 폴더에 있어야하며 모든 테이블 파일을 ASC 생성 순서로 분리해야합니다.
테이블 생성과 마찬가지로 위와 아래 메소드 도 정의해야합니다.
예제 UP 방법 :
public function up(): void
{
(new Database('nomeDaTabela'))->insert([
'nomeDaColuna' => 'valor a ser inserido'
]);
}
다운 방법 예 :
public function down(): void
{
(new Database('nomeDaTabela'))->delete('id = 1 ');
}
.
| 베이스 | 명령 | 논쟁 | 기능 |
|---|---|---|---|
| PHP CLI | -db | 세트 | 데이터베이스에 database/schema 테이블을 로드합니다 . |
| PHP CLI | -db | 떨어지다 | 데이터베이스에 database/schema 테이블을 떨어 뜨립니다 . |
| PHP CLI | -db | 다시 놓기 | 데이터베이스에서 database/schema 테이블을 재충전하십시오 . |
| PHP CLI | -db | 짐 | 정보 database/information 데이터베이스에 삽입하십시오 . |
| PHP CLI | -db | 신선한 | 데이터베이스에서 database/information 정보를 제거합니다 . |
| 베이스 | 명령 | 논쟁 | 기능 |
|---|---|---|---|
| PHP CLI | -짓다 | 제어 장치 | app/Controller 폴더에 새 컨트롤러를 만듭니다 . |
| PHP CLI | -짓다 | 모델 | app/Model/Entity 폴더에서 새 모델을 만듭니다 . |
| PHP CLI | -짓다 | 테이블 | database/schema 폴더에 새 테이블을 만듭니다 . |
유틸리티 : argumento:diretorio 새로 이름이 바뀌는 파일이 생성됩니다.
.
프레임 워크 경로는 응용 프로그램 routes 폴더에 있습니다.
예제 공통 라운드 get :
$obRouter->get('/url/exemplo', [
function($request) {
return new Response(200, PagesHomeController::get($request));
}
]);
예제 동적 풋 경로 :
$obRouter->put('/url/exemplo/{id}', [
function($request, $id) {
return new Response(200, PagesHomeController::edit($request, $id));
}
]);
미들웨어 게시물이있는 Rota 예 :
$obRouter->post('/url/exemplo', [
'middlewares' => [
'basic-auth'
],
function($request) {
return new Response(200, PagesHomeController::set($request));
}
]);
.
요청에는 기본적으로 컨트롤러가 액세스 할 수있는 몇 가지 방법이 있습니다.
이 방법에 액세스하는 방법?
getPostVars 예 :
public function metodoExemplo(Request $request): void
{
$request->getPostVars();
}
.
모델은 app/Model/Entity 폴더 내부에 있어야합니다.
모든 모델에는 기본적으로 4 가지 방법이 있습니다.
모델 클래스의 선언 : 특정 테이블을 보유하려면 모든 모델을 생성해야합니다.
Class Example:
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;
}
}
예제 작성 방법 :
public function create(): bool
{
$this->id = (new Database('nomeDaTabela'))->insert([
'nomeDaColuna' => $this->atributoDaClasse
]);
return true;
}
예제 업데이트 방법 :
public function update(): bool
{
return (new Database('nomeDaTabela'))->update('nomeDaColuna = '.$this->atributoDaClasse, [
'nomeDaColuna' => $this->atributoDaClasse
]);
}
예제 삭제 방법 :
public function delete(): bool
{
return (new Database('nomeDaTabela'))->securityDelete('nomeDaColuna = '.$this->atributoDaClasse);
}
예제 GET 메소드 :
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);
}
.
미들웨어는 경로의 중개자이며 응용 프로그램의 app/Http/Middleware 폴더에 있으며, include/app.php 파일로 구성되어 있으며, 여기서 각 미들웨어의 단일 이름을 지정해야합니다.
모든 미들웨어에는 기본 메소드가 있어야합니다.
미들웨어 예 :
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);
}
}
미들웨어 설정 :
MiddlewareQueue::setMap([
'middleware-exemplo' => AppHttpMiddlewareMiddlewareExemplo::class
]);
.
View는 HTML에서 선언 된 변수를 데이터베이스의 컨텐츠로 대체하도록 렌더링하는 역할을합니다.
예제 렌더링보기 내용 :
public static function getPage(): string
{
// diretorio da pasta: resources/view
return View::render('pasta/exemploArquivoHtml', [
'nomeDaVariavel' => $conteudoAlterado
]);
}
.
컨트롤러는 app/Controller 폴더 내부에 있어야합니다.
모든 컨트롤러에는 기본적으로 5 가지 방법이 있습니다.
예제 GET 메소드 :
public static function get(): array
{
$itens = [];
$results = EntityExemplo::getExemplos(); // model Exemplo
while($obExemplo = $results->fetchObject(EntityExemplo::class)) {
$itens[] = [
'nomeDaColuna' => $obExemplo->atributoDaClasse
];
}
return $itens;
}
사후 방법 :
public static function set(Request $request): bool
{
$vars = $request->getPostVars();
$obExemplo = new EntityExemplo;
$obExemplo->atributoDaClasse = $vars['valorPost'];
$obExemplo->create();
return true;
}
예제 삭제 방법 :
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;
}
프레임 워크 구성 파일은 응용 프로그램의 includes/app.php 폴더에 있습니다.
app.php 파일에서 구성됩니다.