sahezir / base
php基础框架
Requires
- vlucas/phpdotenv: ^5.4
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从底层处理这个过程,如果您正在开发重要的应用程序,我们建议您使用更强大的框架。
如上图所示的路由操作是v1。Base是一个简单的路由系统。是的,我很抱歉,它目前不支持动态路由。实际上,web.php返回一个数组,返回的数组中的第一个值是我们的endpoint,第一个endpoint中的两个值是我们的controller和method。
如果您想查看所有router,可以使用php basri route:list
命令。
控制器
这是您的项目执行许多任务并处理将显示在屏幕上的数据的层。
如上图所示是一个控制器,实际上这是一个简单的控制器。namespace命名是PSR-4。
视图
视图层将处理过的数据以美观的方式展示在屏幕上。
在controller中,我们使用以下方法将数据发送到view层:Controller::view("app", ["classes" => $methodName[2]]);
模型
模型层是项目中与数据库中的entity相对应的层。我们在这里执行CRUD操作。
数据获取
Base将数据库操作保存在.env文件中,出于安全原因,请勿忘记从.env文件中更改数据库操作。
在您的service操作中,如果需要从数据库中获取数据,我们已简化了此过程。
如上图所示的操作是通过ORM完成的。这个操作通过table('example')
获取数据库中指定表的所有数据。
- Where命令
如果您不希望获取所有数据,可以使用where命令。
- Order By
如果您想按顺序排列接收到的数据,可以使用orderBy方法。
- Limit
如果您想对接收到的数据进行限制,可以使用limit方法。
前端
在这个应用中,我们也不会让想要编写前端的朋友感到孤单。如果您不希望从控制器发送的视图页面只包含html和css,那么为您的config/integrated.php页面已经准备好了。基础样式文件已经准备好,您可以通过app/views/css/style.css文件来访问它。
目前,基础库包括AngularJs、tailwindcss和jquery。
例如
您可以通过以下方式将tailwincss添加到您的项目中