sahezir/base

php基础框架

v1.1.0 2022-11-08 15:40 UTC

This package is auto-updated.

Last update: 2024-09-08 00:06:58 UTC


README

通常,每当我开始一个新的php项目时,我会在一些事情上浪费时间,比如准备URL结构、设置基本代码结构等,这实际上浪费了一些时间。那么,为什么不使用一个框架(如Laravel,Symfony)呢?通常,使用框架是为了在大项目中避免在小事情上浪费时间。那么,对于小系统(如博客、个人网站)等页面来说,框架有用吗?当然不是。在这个项目中,我将分享我在开始一个新的php项目时创建的系统。祝大家工作顺利。

安装

  • 在您的客户端中运行composer create-project sahvezir/base [项目名称]命令后,将下载的项目复制到您的apache web服务器文件夹中。
  • 在您的文件夹中打开终端。
  • 在打开的终端中,使用php -S localhost:8000 -t .命令启动您的项目。
  • 您可以通过浏览器打开https://:8000/链接来查看您的项目。

文档

概述

这个框架是为了简化我在编写纯PHP时浪费时间的地方,从而让新开始的项目更愉快。当然,这并不是最好的。实际上,一切都是从router开始的。如果请求与get参数中的$_GET["path"]相匹配,则router会指向一个controller。现在,剩下的事情就是你在controller中想做什么了。所有这些操作都可以在app/Kernel页面上看到。

  • 路由器

在Web应用中,路由是构建块。Base从底层处理这个过程,如果您正在开发重要的应用程序,我们建议您使用更强大的框架。

alt text如上图所示的路由操作是v1。Base是一个简单的路由系统。是的,我很抱歉,它目前不支持动态路由。实际上,web.php返回一个数组,返回的数组中的第一个值是我们的endpoint,第一个endpoint中的两个值是我们的controller和method。

如果您想查看所有router,可以使用php basri route:list命令。

控制器

这是您的项目执行许多任务并处理将显示在屏幕上的数据的层。

alt text如上图所示是一个控制器,实际上这是一个简单的控制器。namespace命名是PSR-4。

视图

视图层将处理过的数据以美观的方式展示在屏幕上。

在controller中,我们使用以下方法将数据发送到view层:Controller::view("app", ["classes" => $methodName[2]]);

模型

模型层是项目中与数据库中的entity相对应的层。我们在这里执行CRUD操作。

数据获取

Base将数据库操作保存在.env文件中,出于安全原因,请勿忘记从.env文件中更改数据库操作。

在您的service操作中,如果需要从数据库中获取数据,我们已简化了此过程。

alt text

如上图所示的操作是通过ORM完成的。这个操作通过table('example')获取数据库中指定表的所有数据。

  • Where命令

如果您不希望获取所有数据,可以使用where命令。

alt text

  • Order By

如果您想按顺序排列接收到的数据,可以使用orderBy方法。

alt text

  • Limit

如果您想对接收到的数据进行限制,可以使用limit方法。

alt text

前端

在这个应用中,我们也不会让想要编写前端的朋友感到孤单。如果您不希望从控制器发送的视图页面只包含html和css,那么为您的config/integrated.php页面已经准备好了。基础样式文件已经准备好,您可以通过app/views/css/style.css文件来访问它。

目前,基础库包括AngularJs、tailwindcss和jquery。

例如

alt text

您可以通过以下方式将tailwincss添加到您的项目中