我們強烈建議我們針對個人博客,新聞機構和REST API開發的框架。
就像其他任何PHP框架一樣,我們根據MVC架構啟動了該項目,其中具有特色服務,例如$Add->Loader , REST API , SharedLayouts , Middlewares和預定義的安全概念。 Simpleist中的所有內容都與將其安裝在服務器上一樣簡單!
從此存儲庫下載它:
composer create-project miladxandi/simplist
請記住,您的PHP版本應大於7,應設置本地請求地址:
public_html/
之後,您必須設置數據庫的用戶名和表!在本地項目首次使用中,這些值應該就是這樣:
表:simperist_simplist
用戶名:根
密碼:空(無值或一個空字符串)
您可以通過轉到模型層來更改這些值並在connect.phtml中更改core/configurations文件夾中的phtml,或轉到此地址:
核心/配置/Connection.phtml
注意:“資源”文件夾中有一個SQL表文件,您可以輕鬆地將其導入到本地或在線MySQL數據庫
在您處理本地工作目錄之前,關閉了HTTPS協議,但是如果要將其上傳到服務器上,則可以通過在core文件夾中“ true ”為“ secureprotocol”,在配置文件夾中打開HTTPS協議,您可以找到一個路由文件,或者轉到此地址:
core/configurations/routing.phtml
您可以更改$SecureProtocol = false;到$SecureProtocol = true;
它已完全安裝並準備使用。
要定義自己的路線,請轉到此地址:
路由/設置/routes.phtml
只有一個數組返回器將URL作為數組鍵返回,並將配置作為其值。每個新路由都應從此模板中完全創建:
'/aboutus' => [
'target'=>'Main.Home.Aboutus',
'get'=> true,
'post'=> false,
'middleware'=>'Main.Home.Aboutus'
'important'=>false
],
讓我逐行描述IT:
'/aboutus'
這是一個網址,將處理控制器和中間Wares所請求的地址,並且是數組的關鍵。注意:我們的路由器系統不敏感,但是您必須定義小寫路由。
'target'=>'Main.Home.Aboutus'
這意味著目標控制器是控制器文件夾的“主”文件夾中的“ homecontroller”,在請求此地址後,“關於”方法將被調用,因為它在
'target'=>'Main.Home.Aboutus'控制器的末尾所寫。另外,您可以通過在Querry String中以其函數參數進行處理。您還可以向控制器文件中的數據庫提出一些請求。給定的Querry String或數據庫值應插入帶有$Viewbag名稱的數組中。您可以通過此代碼將它們發送到您的網頁中:View::Process("Main.Home.Post",$Viewbag);現在可以從“ public_html/view/...”中請求的“視圖”文件訪問。我們鼓勵您將它們放入模型文件夾中的“邏輯”文件夾中,而不是將邏輯代碼寫入控制器。該文件夾中有一些很棒的合同,可以幫助您比以往任何時候都更好地發展業務。
注意:控制器和中間Wares必須使用Controller.phtml或Middleware.phtml擴展名來創建,但應在這裡寫入沒有這些擴展的情況下。例如,我們有“ homecontroller”,但是我們可以通過不編寫“控制器”字:“ home”的名稱來訪問它。
'get'=> true或'post'=> false
這些是我們可以在此處定義的一般服務器請求方法。如果您想拒絕任何郵政請求,則只需將
post值更改為false即可。然後,您可以看到帶有POST請求方法的每個請求將向您顯示“不允許的請求方法”錯誤。
'middleware'=>'Main.Home.Aboutus'
當與所請求的URL及其定義的請求方法沒有衝突時,在啟動控制器之前,我們有一些中間件可以進行一些驗證。它可以用來檢查安全餅乾或網站語言選項等。每個中間件都應在其“狀態”鍵中返回
true以通過檢查。 MiddleWares還可以通過獲得其功能參數來處理Querry String。就像控制器一樣,我們需要它們的純淨名稱,而無需“中間件”單詞。
'important'=>false
正如您之前閱讀的那樣,默認情況下,我們的系統並不敏感,但是有時您需要在案例敏感的URL上處理以驗證某些令牌和敏感數據或任何其他原因。您可以通過使用
'important'=>true更改我們的路由系統的規則,也可以通過'important'=>false關閉它。注意:不需要此鍵。
要定義自己的路線,請轉到此地址:
路由/設置/api.phtml
只有一個數組返回器將URL作為數組鍵返回,並將配置作為其值。每個新路由都應從此模板中完全創建:
'/api' => [
'target' => 'Api.Home.Index',
'allowed'=> 'get',
'blocked'=> 'DELETE',
'middleware'=>'Main.Home.Index',
'important'=>false
]
讓我逐行描述IT:
'/api'
這是一個用於調用API的網址,將處理控制器和中間Wares請求的服務,並且是數組的關鍵。注意:我們的路由器系統不敏感,但是您必須定義小寫路由。
'target' => 'Api.Home.Index'
這意味著目標控制器是控制器文件夾的“ API”文件夾中的“ homecontroller”,在請求此地址後,將調用此地址“ index”方法,如它在
'target' => 'Api.Home.Index'控制器的末尾所寫的那樣。另外,您可以通過在Querry String中以其函數參數進行處理。您還可以向控制器文件中的數據庫提出一些請求。我們鼓勵您將它們放入模型文件夾中的“邏輯”文件夾中,而不是將邏輯代碼寫入控制器。該文件夾中有一些很棒的合同,可以幫助您比以往任何時候都更好地發展業務。
注意:控制器和中間Wares必須使用Controller.phtml或Middleware.phtml擴展名來創建,但應在這裡寫入沒有這些擴展的情況下。例如,我們有“ homecontroller”,但是我們可以通過不編寫“控制器”字:“ home”的名稱來訪問它。
'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
正如您之前閱讀的那樣,默認情況下,我們的系統並不敏感,但是有時您需要在案例敏感的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">代碼到處都在您稱之為。
共享layout是一個簡單服務的名稱,該名稱位於View文件夾中的共享文件夾中( 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”擴展名作為詳細的指南文件。我們強烈建議您下載並安裝一個標記的查看器,以供您的眉毛以更好的體驗查看此文件。