我们强烈建议我们针对个人博客,新闻机构和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”扩展名作为详细的指南文件。我们强烈建议您下载并安装一个标记的查看器,以供您的眉毛以更好的体验查看此文件。