우리는 개인 블로그, 뉴스 기관 및 REST API 개발에 대한 프레임 워크를 강력히 제안합니다.
다른 PHP 프레임 워크와 마찬가지로 우리는 $Add->Loader , REST API , SharedLayouts , Middlewares 및 사전 정의 된 보안 개념과 같은 주요 서비스를 사용하여 MVC 아키텍처를 기반 으로이 프로젝트를 시작했습니다. Simplist의 모든 것은 서버에 설치하는 것만 큼 간단합니다!
이 저장소에서 다운로드하십시오.
composer create-project miladxandi/simplist
PHP 버전은 7보다 맨이어야하며 로컬 요청 주소를 설정해야합니다.
public_html/
그런 다음 데이터베이스의 사용자 이름과 테이블을 설정해야합니다! 처음으로 사용하기위한 로컬 프로젝트에서 이러한 값은 다음과 같아야합니다.
표 : simplist_simplist
사용자 이름 : 루트
비밀번호 : 빈 (값이 없거나 빈 문자열 없음)
Corne/Configurations 폴더의 Connect.phtml에서 모델로 이동 하여이 값을 변경 하거나이 값을 변경 하거나이 주소로 이동할 수 있습니다.
Core/Configurations/Connection.phtml
참고 : "Resources"폴더에는 로컬 또는 온라인 MySQL 데이터베이스로 쉽게 가져올 수있는 SQL 테이블 파일이 있습니다.
로컬 작업 디렉토리에서 작업 할 때까지 HTTPS 프로토콜이 꺼지지 만 서버에 업로드하려면 핵심 폴더에서 "SecureProtocol"을 true 로 만들어 HTTPS 프로토콜을 켜질 수 있습니다. 구성 폴더에서 라우팅 파일을 찾 거나이 주소로 이동할 수 있습니다.
코어/구성/라우팅 .phtml
$SecureProtocol = false; $ to $SecureProtocol = true;
완전히 설치되어 사용할 수 있습니다.
자신의 경로를 정의하려면이 주소로 이동하십시오.
경로/설정/경로 .phtml
URL을 배열 키로 반환하고 값으로 구성하는 배열 반환기 만 있습니다. 모든 새로운 경로는이 템플릿에서 정확히 생성해야합니다.
'/aboutus' => [
'target'=>'Main.Home.Aboutus',
'get'=> true,
'post'=> false,
'middleware'=>'Main.Home.Aboutus'
'important'=>false
],
한 줄씩 설명하겠습니다.
'/aboutus'
이것은 컨트롤러 및 중간 전쟁에 의해 요청 된 주소를 처리하는 웹 주소이며 배열의 키입니다. 참고 : 라우터 시스템은 대소 문자로 민감하지 않지만 소문자를 정의해야합니다.
'target'=>'Main.Home.Aboutus'
이는 대상 컨트롤러가 컨트롤러 폴더의 "기본"폴더에 "홈 컨트롤러"임을 의미 하며이 주소를 요청한 후 "ApbingUs"메소드는
'target'=>'Main.Home.Aboutus'컨트롤러의 끝에 쓴대로 호출됩니다. 또한 함수 매개 변수에서Querry String처리하여 처리 할 수 있습니다. 컨트롤러 파일에서 데이터베이스에 약간의 요청을 할 수도 있습니다. 주어진Querry String또는 Database 값은$Viewbag이름이있는 배열에 삽입해야합니다. 이 코드를 통해 다음을 통해 웹 페이지로 보낼 수 있습니다.View::Process("Main.Home.Post",$Viewbag);이제 "public_html/view/..."의 요청 된 "보기"파일에서 액세스 할 수 있습니다. 로직 코드를 컨트롤러에 쓰는 대신 모델 폴더의 "논리"폴더에 넣는 것이 좋습니다. 이 폴더에는 그 어느 때보 다 비즈니스를 더 잘 개발하는 데 도움이되는 훌륭한 계약이 있습니다.
참고 : 컨트롤러 및 중간 전위는 정확히 Controller.phtml 또는 Middleware.phtml 확장자로 생성해야하지만 이러한 확장자없이 여기에서 작성해야합니다. 예를 들어, "HomeController"가 있지만 "컨트롤러"라는 단어없이 이름 만 작성하여 액세스 할 수 있습니다.
'get'=> true 또는 'post'=> false
여기에서 정의 할 수있는 일반 서버 요청 방법입니다. 게시물 요청을 거부하려면
post값을false로 변경하면됩니다. 그런 다음POST요청 메소드의 모든 요청에 "허용되지 않는 요청 메소드"오류가 표시됩니다.
'middleware'=>'Main.Home.Aboutus'
요청 된 URL 및 정의 된 요청 메소드와 충돌이 없으면 컨트롤러를 시작하기 전에 일부 유효성 검사를 수행 할 수있는 미들웨어가 있습니다. 보안 쿠키 또는 웹 사이트 언어 옵션 등을 확인하는 데 사용할 수
true. MiddleWares는 또한Querry String함수 매개 변수로 가져 와서 처리 할 수 있습니다. 컨트롤러와 마찬가지로 "미들웨어"단어가없는 순수한 이름이 필요합니다.
'important'=>false
이전에 읽은 것처럼, 당사 시스템은 기본적으로 사례에 민감하지 않지만 때로는 일부 토큰 및 민감한 데이터 또는 기타 이유를 검증하기 위해 Case Cintitive URL을 처리해야합니다.
'important'=>true사용 하여이 라우팅 시스템 의이 규칙을 변경하거나'important'=>false로 끄십시오. 참고 : 라우팅 배열 의이 키는 필요하지 않습니다.
자신의 경로를 정의하려면이 주소로 이동하십시오.
경로/설정/api.phtml
URL을 배열 키로 반환하고 값으로 구성하는 배열 반환기 만 있습니다. 모든 새로운 경로는이 템플릿에서 정확히 생성해야합니다.
'/api' => [
'target' => 'Api.Home.Index',
'allowed'=> 'get',
'blocked'=> 'DELETE',
'middleware'=>'Main.Home.Index',
'important'=>false
]
한 줄씩 설명하겠습니다.
'/api'
이것은 API를 호출하기위한 웹 주소이며 컨트롤러 및 중간 전쟁으로 요청 된 서비스를 처리하며 배열의 키입니다. 참고 : 라우터 시스템은 대소 문자로 민감하지 않지만 소문자를 정의해야합니다.
'target' => 'Api.Home.Index'
이는 대상 컨트롤러가 컨트롤러 폴더의 "API"폴더에 "홈 컨트롤러"임을 의미 하며이 주소를 요청한 후 "index"메소드는
'target' => 'Api.Home.Index'컨트롤러의 끝에서 쓴대로 호출됩니다. 또한 함수 매개 변수에서Querry String처리하여 처리 할 수 있습니다. 컨트롤러 파일에서 데이터베이스에 약간의 요청을 할 수도 있습니다. 로직 코드를 컨트롤러에 쓰는 대신 모델 폴더의 "논리"폴더에 넣는 것이 좋습니다. 이 폴더에는 그 어느 때보 다 비즈니스를 더 잘 개발하는 데 도움이되는 훌륭한 계약이 있습니다.
참고 : 컨트롤러 및 중간 전위는 정확히 Controller.phtml 또는 Middleware.phtml 확장자로 생성해야하지만 이러한 확장자없이 여기에서 작성해야합니다. 예를 들어, "HomeController"가 있지만 "컨트롤러"라는 단어없이 이름 만 작성하여 액세스 할 수 있습니다.
'allowed'=> 'get' 또는 'blocked'=> 'DELETE'
앱이 HTTP 동사를 작동 시키도록하려면 여기에서이를 정의하고 쉼표로 분리하여 API 가이 방법을 사용할 수 있습니다. 예를 들어, 앱이
POST사용하여 서버와GET작용하기를 원합니다. 그래서 우리는 다음과 같이 여기서 두 가지를 정의해야합니다.
'allowed'=> 'get,post'
그런 다음 요청에서 서버로의 일부 HTTP 동사를 제한하려면이 섹션의
blocked부분에 작성해야합니다.
'blocked'=> 'DELETE'
우리는 이것들에서 원하는 동사만큼 섹션에 쓸 수 있습니다.
'middleware'=>'Main.Home.Aboutus'
요청 된 URL 및 정의 된 요청 메소드와 충돌이 없으면 컨트롤러를 시작하기 전에 일부 유효성 검사를 수행 할 수있는 미들웨어가 있습니다. 보안 쿠키 또는 웹 사이트 언어 옵션 등을 확인하는 데 사용할 수
true. MiddleWares는 또한Querry String함수 매개 변수로 가져 와서 처리 할 수 있습니다. 컨트롤러와 마찬가지로 "미들웨어"단어가없는 순수한 이름이 필요합니다.
'important'=>false
이전에 읽은 것처럼, 당사 시스템은 기본적으로 사례에 민감하지 않지만 때로는 일부 토큰 및 민감한 데이터 또는 기타 이유를 검증하기 위해 Case Cintitive URL을 처리해야합니다.
'important'=>true사용 하여이 라우팅 시스템 의이 규칙을 변경하거나'important'=>false로 끄십시오. 참고 : 라우팅 배열 의이 키는 필요하지 않습니다.
oLoad 라이브러리는 단순한 서비스이며 HTML head 섹션이 더 깨끗해질 수 있도록 정의되었습니다. 이 라이브러리를 사용해야하는 경우 처음에는보기 파일 에서이 코드를 사용해야합니다.
<?php $Add = new CoreRequirementoLoad("../../..","Style/Main","Script/Main","Content/Main"); ?>
이 코드에서는 JS, CSS, 이미지 등의 다른 위치를 정의 할 수 있습니다. 앱을 사용자 정의 할 수 있으므로 ../../.. 는 이러한 내용의 기본 루트를 표시하지만 모든 페이지에서 변경할 수 있습니다.
이 코드는 외부 JS 또는 CSS 라이브러리 또는 이미지를 가져올 수 있습니다.
또한 프로젝트에 고유 유형의 파일을 추가 할 수 있습니다.
이것은 HTML에 이미지를 어떻게 표시 할 수 있는지 보여주는 완전한 코드입니다.
<?php $Add->Loader("png","eastCloud","Shared",true,false,"eastCloud",24,24,"Style","Class"); ?>
이 코드는 다음을 의미합니다.
<?php $Add->Loader(Extension: "png",Name: "eastCloud",UniqueUrl: "Shared",Local: true,UniqueType: false,ImageAlt: "eastCloud",ImageWidth: 24,ImageHeight: 24,ImageStyle: "Style",ImageClass: "Class"); ?>
그리고 사용 된 모든 곳에서 완전한 <img> 태그를 만듭니다.
이와 같이 JS 및 CSS 라이브러리를 추가 할 수 있습니다. 그러나 해당 방법의 Local 논쟁 후 모든 것을 제외하고는 다음과 같은 자체 확장을 제외하고.
<?php $Add->Loader("css","Style",null,true); ?>
<?php $Add->Loader("js","Script",null,true); ?>
UniqueUrl 주장을 통해 내부 또는 외부 라이브러리 또는 이미지를 정의 할 수 있습니다. UniqueUrl 정의 할 필요가 없다면 빈 이중 인용문 ( "" )을 남겨 두거나 NULL을 인수로 남겨 두십시오.
Local 인수는 라이브러리 또는 이미지가 로컬 파일인지 아닌지를 의미합니다. 시스템은 주어진 인수와 함께 기본 루트를 사용하여 Local true 경우 해당 파일을 찾습니다.
확장자가 JS, CSS, PNG, JPEG, JPG 및 ICO를 제외한 모든 것이라면 UniqueType 인수가 true 이어야합니다. 기본적으로 false 입니다.
js 확장자는 완전한 <script src="../../../Script/Main/main.js"></script> 코드를 만듭니다. css 확장자는 완전한 <link rel="stylesheet" type="text/css" href="../../../Style/Shared/File.css"> 코드를 만듭니다.
SharedLayouts는 View Folder ( public_html/View/Shared )의 공유 폴더에있는 단순한 서비스의 이름입니다.
기본적으로 "레이아웃"이름이있는 2 개의 폴더와 .phtml 파일이 포함되어 있습니다. 레이아웃 파일에는 프로젝트의 각 부분에 대해 하나 이상의 클래스가 포함될 수 있습니다. 예를 들어 다음과 같은 클래스가 있습니다.
class MainLayouts { public static function _Header() { include "Main/_HeaderLayout.phtml"; } public static function _Menu() { include "Main/_MenuLayout.phtml"; } public static function _Footer() { include "Main/_FooterLayout.phtml"; } }
다른보기 파일을 헤더, 메뉴 및 바닥 글로로드하는 몇 가지 방법이 포함되어 있습니다. 복잡한 개념은 없습니다.
자세한 안내서 파일로 ".md"확장자와 함께 파일을 표시했습니다. 더 나은 경험 으로이 파일을 볼 수 있도록 Brower의 Mark Down 뷰어를 다운로드하여 설치하는 것이 좋습니다.