Simple은 PHP와 함께 빠르고 최소한으로 일할 수있는 패킷 세트를 모은 프로젝트입니다. 덜 더 많다!
간단한 것을 사용하려면 명령을 사용할 수 있습니다.
$ composer create-project phpzm/simples또는 저장소 화이트 마스터의 사본을 만드십시오
$ git clone https://github.com/phpzm/simples.git < dir >
$ cd < dir >
$ rm .git
$ composer install지금까지 이미 기본 아키텍처를 다운로드했으며 PHP 웹 사이트 또는 시스템에 대한 행복한 기본 기능을 사용하여 몇 가지 세부 정보를 설정해야합니다.
아래에서 언급 할 기본으로 제공되는 두 가지 설정은 동일한 URL로 표시됩니다. http://localhost:8080 서버 모드를 시작하기 전에 프로젝트에서 사용할 수있는 .env 예제 파일의 사본을 만드십시오.
$ composer run env:init프로젝트와 함께 제공되는 예제 파일의 사본을 만듭니다.
$ composer run docker:init다음으로 컨테이너를 실행하거나 사용하는 데 사용되는 명령을 사용할 수 있습니다.
$ composer run docker:serve --timeout=0PHP와 함께 제공되는 개발 서버를 사용하려면 아래 명령을 사용하십시오.
$ composer run php:serve --timeout=0 모든 것이 잘 진행되었습니다. URL에 액세스 할 때 http://localhost:8080 이미 기본 프레젠테이션 페이지를 볼 수 있습니다.
좋아, 작동 해야하는 URL은 괜찮지 만, 그녀가 실행하기 위해 일어난 일에 대한 개요를 만들어 봅시다.
이 폴더에서는 응용 프로그램에 대한 요청에 대한 유일한 진입 점이 있습니다. 내부에있는 index.php 파일을 열 때 간단한 파일과의 첫 번째 상호 작용이 있습니다. PHP 파일 외에도 일반적으로 assets 호출하는 파일도 있습니다. 응용 프로그램 리소스의 시각화를 향상시키는 데 사용되는 이미지, 스타일 파일 및 기능입니다. 이 폴더는 누구나 액세스 할 수있는 노출 된 문서를 남겨 두는 데 사용됩니다.
이 디렉토리에는 응용 프로그램 동작을 구성하는 데 사용되는 PHP 파일 목록이 포함되어 있습니다. 이 파일을 살펴 보는 동안 일부 속성을 정의하는 데 사용되는 env 라는 기능이 있음을 알 수 있습니다. 이 함수는 .env 에 정의 된 값을 복구합니다.
마침내 우리는 파티가 일어나는 곳에 도착했습니다. Simples는이 디렉토리를 사용하여 작성할 문서를 참조하는 올바른 설정과 함께 제공됩니다. 당신이 많이 할 수 있듯이, 우리는 모든 것을 부분으로 나눕니다.
그것은 간접적으로 자원의 구성과 관련된 문서를 보관합니다. 처음에는 3 개의 디렉토리 (이메일, 로컬, 뷰)로 구성되지만 편안하게 성장할 수 있습니다. config/app.php 파일에서 아래와 유사한 구성 명령어를 볼 수 있습니다. 예를 바탕으로 app/resources 값이 반환되도록 헬퍼 config('app.resources.root') 사용할 수 있으며 이것이 사용하는 기능을 간단하게 찾을 수 있습니다.
[config/app.php]
<?php
( . . . )
' resources ' => [
' root ' => ' app/resources ' ,
]
(...) 우리는 views 부분과 템플릿 섹션 사용에 대해 더 많이 볼 것입니다.
이것은 경로를 사용하기위한 제안 된 경로입니다. config/route.php 에 설명되어있어 응용 프로그램 경로를 작성하기 위해 초기화 될 파일 배열을 입력 할 수 있습니다.
[config/route.php]
<?php
( . . . )
' files ' => [
' app/routes/index.php '
]
(...) 따라서 HTTP 요청이 public/index.php 로 전송되면 app/routes/index.php 파일에서 경로를 검색하기 시작합니다. 나중에, 경로 생성 섹션에서, 우리는 간단한 것을 사용하여 체계적인 방식으로 경로를 만드는 방법을 볼 수 있습니다.
이 폴더는 composer.json 의 구성을 통해 Composer autoloader 와 직접 관련이 있습니다.
[composer.json]
(...)
"autoload": {
"psr-4": {
"App\": "app/src/"
}
}
(...)
즉, 당신이 사용할 표준 이름은 App 이고 파일은 위에서 설명한 폴더 내에 있어야합니다. 분명히 이것을 수정할 수 있습니다. PSR-4 컨벤션을 사용하여 적절한 namespace 문서를 만들 때 투명하게 사용할 수 있습니다. 구조 구성 섹션에서 이에 대해 자세히 설명하겠습니다.
초기 경로를 표시하는 방법 으로이 폴더는 프로젝트의 루트에서 storage 라는 폴더를 공개 액세스 할 수없는 문서를 유지하기 위해 제안합니다.
vendor 폴더는 Composer 에 의해 자동으로 생성됩니다. 프로젝트가 사용하고로드 설정을 제출할 종속성이 있습니다. 기본적으로 .gitignore 파일에 구성되어 Git 에 의해 무시됩니다.
첫 번째 경로 (또는 첫 번째 경로)가 호출되는 구성은 app/config/route.php 내에서 기본값입니다.
응용 프로그램 리소스 액세스 설정은 경로 파일에서 이루어질 수 있습니다. 명령은 파일 파일 ($ router 변수가 범위 이유로 사용할 수있는 경우)에 직접 작성하거나 매개 변수로 $ 라우터를 수신하는 클로저의 리턴을 사용합니다.
간단한 경로
return function ( $ router ) {
$ router -> on ( ' GET ' , ' / ' , function () {
return ' Hello World! ' ;
});
}동적 경로
return function ( $ router ) {
$ router -> get ( ' /:controller/:method ' , function ( $ controller , $ method ) {
return ' Hello World! ' ;
});
}로타 그룹
return function ( $ router ) {
// lista com arquivos de rota
$ router -> group ( ' GET ' , ' /site ' , [ ' more/files/routes.php ' , ' more/files/site.php ' ]);
// pasta que contém arquivos de rotas
$ router -> group ( ' * ' , ' /api ' , ' api/routes ' );
}컨트롤러와의 상호 작용이있는 경로
return function ( $ router ) {
$ router -> post ( ' /client/save ' , ' NamespaceClientController@save ' );
$ router -> resource ( ' client ' , ' NamespaceClientController ' );
} $router->resource 생성됩니다.
| 동사 | 길 | 행동 | 경로 이름 |
|---|---|---|---|
| 얻다 | /route | 색인 | route.index |
| 얻다 | /route/create | 만들다 | route.create |
| 얻다 | /route/{id} | 보여주다 | route.show |
| 얻다 | /route/{id}/edit | 편집하다 | route.edit |
| 우편 | /route | 입체 | Route.Store |
| PIT/PATCH | /route/{id} | 업데이트 | route.update |
| 삭제 | /route/{id} | 파괴하다 | Route.destroy |