miladxandi/simplist

Simplist 是一个以最简单的方式创建在线博客的项目。每个 CMS 在其开发的初期都帮助了开发过程,使其更快、更简单。它们也在其框架中制定了一些标准,以提高开发和可用性,但命运随着非专业者的介入而改变。

4.0.0.1 2019-03-21 03:21 UTC

This package is auto-updated.

Last update: 2024-09-25 10:20:56 UTC


README

eastCloud User Download

ko-fi

issues forks stars license

Simplist

Simplist 是一个基于 PHP 的超快速微框架。

我们强烈建议您将此框架用于个人博客、新闻机构以及 REST API 开发。

就像任何其他 PHP 框架一样,我们基于 MVC 架构开始了这个项目,并提供了诸如 $Add->LoaderREST APISharedLayoutsMiddlewares 以及预定义的安全概念等特色服务。Simplist 中的所有内容都像在您的服务器上安装它一样简单!

文档

安装

这个仓库下载它

composer create-project miladxandi/simplist

请记住,您的 PHP 版本应高于 7,并且本地请求地址应设置为

public_html/

之后,您需要设置您的数据库的用户名和表!在本地项目首次使用时,这些值应如下所示

表:simplist_simplist

用户名:root

密码:空(没有值或空字符串)

您可以通过前往模型层并在 Core/Configurations 文件夹中的 Connection.phtml 中更改这些值来更改这些值,或者前往此地址

Core/Configurations/Connection.phtml

注意:在 "Resources" 文件夹中有一个 SQL 表文件,您可以轻松地将它导入到您的本地或在线 MySQL 数据库中

直到您在本地工作目录中工作,HTTPS 协议是关闭的,但如果您想将其上传到您的服务器,可以通过在 Core 文件夹中将 "SecureProtocol" 设置为 true 来打开 HTTPS 协议,在配置文件夹中您可以找到路由文件,或者前往此地址

Core/Configurations/Routing.phtml

您可以将 $SecureProtocol = false; 更改为 $SecureProtocol = true;

安装完成,准备就绪。

路由

要定义您自己的路由,请前往此地址

Route/Setting/Routes.phtml

这里有一个返回数组的数组,它将 URL 作为数组键,将配置作为其值。每个新路由都应完全从以下模板创建

'/aboutus' => [
 'target'=>'Main.Home.Aboutus',
 'get'=> true,
 'post'=> false,
 'middleware'=>'Main.Home.Aboutus'
 'important'=>false 
 ],

让我逐行描述它

'/aboutus'

这是一个将处理请求地址的 URL,由控制器和中间件处理,是数组的键。注意:我们的路由系统不区分大小写,但您必须定义小写路由。

'target'=>'Main.Home.Aboutus'

这意味着目标控制器位于 "Main" 文件夹的 "Controllers" 文件夹中的 "HomeController",并在请求此地址后调用 "Aboutus" 方法,就像它在 'target'=>'Main.Home.Aboutus' 控制器的末尾所写的那样。您还可以通过获取它来处理 Query String,在它的函数参数中。您还可以在控制器文件中对数据库进行一些请求。给定的 Query String 或数据库值应与 $Viewbag 名称一起插入到数组中。您可以通过以下代码将它们发送到您的网页:View::Process("Main.Home.Post",$Viewbag); 现在,它可以从 "public_html/View/..." 中请求的 "View" 文件中访问。我们鼓励您将逻辑代码放入模型文件夹中的 "Logic" 文件夹中,而不是在控制器中写入逻辑代码。这个文件夹中有一些非常好的契约,可以帮助您比以往任何时候都更好地开发业务。

注意:控制器和中间件必须使用确切的Controller.phtmlMiddleware.phtml扩展名创建,但在这里编写时不应包含这些扩展名。例如,我们有一个“HomeController”,但我们可以只写它的名字而不写“Controller”这个词:“Home”

'get'=> true 'post'=> false

这些是我们可以在这里定义的通用服务器请求方法。如果你想拒绝任何POST请求,只需将post的值更改为false。然后,你可以看到每个使用POST请求方法的请求都会显示“请求方法不允许”错误。

'middleware'=>'Main.Home.Aboutus'

在没有请求URL与其定义的请求方法冲突的情况下,在启动控制器之前,我们有一些中间件来进行一些验证。它可以用来检查安全cookies或网站语言选项等。每个中间件都应该在其“状态”键中返回true以通过其检查。中间件还可以通过在函数参数中获取它来处理Query String。就像控制器一样,我们需要它们的纯名称,不带“中间件”这个词。

'important'=>false

如你所读,我们的系统默认情况下不区分大小写,但有时你需要对大小写敏感的URL进行操作以验证某些令牌和敏感数据或其他原因。你可以通过使用'important'=>true 来更改我们的路由系统规则,或者通过'important'=>false 来关闭它。注意:此键在路由数组中不是必需的。

API

要定义您自己的路由,请前往此地址

Route/Setting/Api.phtml

这里有一个返回数组的数组,它将 URL 作为数组键,将配置作为其值。每个新路由都应完全从以下模板创建

'/api' => [
    'target' => 'Api.Home.Index',
    'allowed'=> 'get',
    'blocked'=> 'DELETE',
    'middleware'=>'Main.Home.Index',
    'important'=>false
]

让我逐行描述它

'/api'

这是调用API的网址,将处理由控制器和中间件请求的服务,并且是数组的一个键。注意:我们的路由系统不区分大小写,但你必须定义小写路由。

'target' => 'Api.Home.Index'

这意味着目标控制器位于“Controllers”文件夹的“Api”文件夹中的“HomeController”,请求此地址后,“Index”方法将被调用,就像在'target' => 'Api.Home.Index'控制器中写的那样。你也可以通过在函数参数中获取它来处理Query String。你还可以在控制器文件中发出一些数据库请求。我们不鼓励你在控制器中编写逻辑代码,而是鼓励你将它们放在“Model”文件夹中的“Logic”文件夹中。这个文件夹中有一些非常好的契约,可以帮助你比以往任何时候都更好地开发业务。

注意:控制器和中间件必须使用确切的Controller.phtmlMiddleware.phtml扩展名创建,但在这里编写时不应包含这些扩展名。例如,我们有一个“HomeController”,但我们可以只写它的名字而不写“Controller”这个词:“Home”

'allowed'=> 'get''blocked'=> 'DELETE'

如果你想让你的应用工作任何HTTP动词,你可以在这里定义它,并用逗号分隔它们,以便你的API使用这些方法。例如,我们希望我们的应用使用POSTGET方法与服务器交互;因此,我们必须在这里定义这两个方法,就像这样

'allowed'=> 'get,post'

然后我们想要限制对服务器请求的一些HTTP动词,我们需要在这个部分的blocked部分中写入它们

'blocked'=> 'DELETE'

我们可以在这两个部分中写入我们想要的任何动词数量。

'middleware'=>'Main.Home.Aboutus'

在没有请求URL与其定义的请求方法冲突的情况下,在启动控制器之前,我们有一些中间件来进行一些验证。它可以用来检查安全cookies或网站语言选项等。每个中间件都应该在其“状态”键中返回true以通过其检查。中间件还可以通过在函数参数中获取它来处理Query String。就像控制器一样,我们需要它们的纯名称,不带“中间件”这个词。

'important'=>false

如你所读,我们的系统默认情况下不区分大小写,但有时你需要对大小写敏感的URL进行操作以验证某些令牌和敏感数据或其他原因。你可以通过使用'important'=>true 来更改我们的路由系统规则,或者通过'important'=>false 来关闭它。注意:此键在路由数组中不是必需的。

特性

oLoad

oLoad库是一个最简单的服务,定义为帮助你的HTML head部分更干净。如果你需要使用这个库,你必须在你的视图文件中首先使用这个代码

<?php $Add = new Core\Requirement\oLoad("../../..","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(扩展: "png",名称: "eastCloud",唯一URL: "共享",本地: true,唯一类型: false,图片替代文本: "eastCloud",图片宽度: 24,图片高度: 24,图片样式: "Style",图片类: "Class"); ?>

它将在任何使用它的地方创建一个完整的 <img> 标签。

你可以像这样添加JS和CSS库;但是除了那个方法中 Local 参数之后的所有内容以及它们自己的扩展,例如这样

<?php $Add->Loader("css","Style",null,true); ?>

<?php $Add->Loader("js","Script",null,true); ?>

UniqueUrl 参数允许你定义内部或外部库或图片。如果不需要定义 UniqueUrl,只需留下一个空的双引号("")或传递 null 作为其参数。它默认为 null。

Local 参数表示库或图片是否为本地文件,如果 Localtrue,系统将使用提供的参数使用默认根目录查找该文件。

UniqueType 参数必须为 true,如果扩展不是 js、CSS、png、jpeg、jpg 和 ico。它默认为 false

js 扩展将在你调用它的任何地方创建完整的 <script src="../../../Script/Main/main.js"></script> 代码。 css 扩展将在你调用它的任何地方创建完整的 <link rel="stylesheet" type="text/css" href="../../../Style/Shared/File.css"> 代码。

共享布局

共享布局 是一个名为 Simplist 的服务,位于视图文件夹中的共享文件夹(public_html/View/Shared)。

它包含2个文件夹和一个名为 "Layouts" 的默认 .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" 扩展名的 Markdown 文件作为我们的详细指南文件。我们强烈建议你下载并安装一个 Markdown 查看器,以便更好地查看这些文件。

任务

  • 启动器文档
  • 完整文档
  • 修复身份验证和授权错误
  • 使用正则表达式处理请求的 URL
  • 为数据库连接、安全协议等创建开发环境
  • RESTFUL API 支持