reyjhon / simple-php
Simple PHP 是一个轻量级的 Web 应用程序框架。
Requires
- php: >=7.1
- simplyphp/framework: v2.0.0-beta
- dev-master
- v2.0.0-beta
- v1.2.53
- v1.2.51
- v1.2.50
- v1.2.41
- v1.2.40
- v1.2.39
- v1.2.38
- v1.2.37
- v1.2.36
- v1.2.35
- v1.2.34
- v1.2.33
- v1.2.32
- v1.2.31
- v1.2.30
- v1.2.29
- v1.2.28
- v1.2.27
- v1.2.26
- v1.2.25
- v1.2.24
- v1.2.23
- v1.2.22
- v1.2.21
- v1.2.20
- v1.2.19
- v1.2.18
- v1.2.17
- v1.2.16
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2
- v1.1
- v1.0
- dev-develop
This package is auto-updated.
Last update: 2024-09-21 01:51:16 UTC
README
关于 Simple
Simple PHP 是一个轻量级的 Web 应用程序微框架。
- 使用模型-视图-控制器模式
- 简单的路由引擎
- 在类中使用命名空间并自动加载
- 带有方法过滤器的控制器
- 应用 PSR-12 扩展编码标准
- 可选使用 Twig 模板引擎
- 具有资源友好连接的模型
- 环境配置
- 错误处理和报告
- 使用 composer 轻松管理依赖
完整文档
https://simply-docs.herokuapp.com
Simple PHP 依赖
编码风格指南
您必须遵循此标准:https://www.php-fig.org/psr/psr-2/ 享受编码时光 :)
安装
通过 Composer:(推荐)
composer create-project reyjhon/simple-php
cd simple-php
视图
此微框架使用 twig 作为模板引擎。但是它是可选的。是的,您只能使用纯 html 而不使用 twig。
- 视图必须位于 app/Views 目录。
- 所有视图必须以 view 作为文件扩展名的前缀命名。例如:welcome.view.html,product.view.html
- 在应用程序配置中可以启用或禁用视图缓存
在渲染视图时:(使用 twig)
return view('welcome');
当视图在文件夹内时,包含 文件夹 然后 视图名称,两者由 点 分隔
return view('your_folder.welcome');
请阅读 twig 文档以获取更多信息:https://twig.symfony.com.cn/doc/2.x/
注意
- 您的视图必须是一个有效的 html 文件。例如:welcome.view.html
- 布局文件可以是 twig 文件。例如:layout.twig,master.twig
在渲染普通视图时:(纯 html)
传递一个名为 normal 的第三个参数以识别您想要不使用模板引擎渲染的内容。
return view('welcome', [], 'normal');
注意
- 您的视图必须是一个有效的 php 文件。例如:welcome.view.php
- 普通渲染不支持继承
- 第二个参数是要传递的变量。如果为空,则必须在渲染普通视图时初始化。
限制控制器仅允许认证用户访问
将 Action 后缀添加到您的函数名中。
例如:如果您在控制器中有名为 index 的方法
public function index()
使其成为
public function indexAction()
然后将其添加到 'App/Controllers/Controller.php'
use App\Helper\Auth\AuthHelper as auth; use Simple\Request;
并在 Controller.php 中创建一个新的 before 方法,如下所示
public function before() { if(!auth::user()) { Request::redirect('/auth/index'); } }
未认证的用户尝试访问您的受限控制器将被重定向到登录页面。
在视图中使用 auth
如果用户已认证,则用户变量不为 null。
{% if user is null %} <p> Please login </p> {% else %} <p> Hello {{ user.name }} </p> {% endif %}
- {{ user.name }} 显示当前登录用户的名称。
- {{ user.email }} 显示当前登录用户的电子邮件。
- {{ user.id }} 显示当前登录用户的 ID。
验证
请参阅https://simply-docs.herokuapp.com/documentation/v1/lib/validation中的文档
文件上传(在开发中)
在控制器中使用文件上传对象
例如在您的 store 动作中
public function store(Request $request) { $file = $request->file('profile_photo'); // profile_photo is the field name of the input type="file" element $file->upload('folder_name'); // specify the folder where the file is going to store, if upload success it wil return true otherwise false. }
可用方法
- getFileName() 返回上传文件的原始文件名
- getUploadedFileName() 返回上传后文件的文件名
- getFileSize() 返回上传文件的大小
- getFileExtension() 返回上传文件的扩展名
- getFileType() 返回上传文件的类型
- upload($path) 上传到指定的路径
简单加密
简单框架提供使用密钥的加密库。这使用了 defuse/php-encryption,您可以在此处了解更多信息:https://github.com/defuse/php-encryption
在使用加密之前,请运行此命令一次
php cli key:generate
加密
加密文本或字符串
use Simple\Security\SimplyEncrypt;
然后您可以使用它作为
$encrypted = SimplyEncrypt::encrypt('secret text');
解密
解密文本或字符串
use Simple\Security\SimplyDecrypt;
然后您可以使用它作为
$decrypted = SimplyDecrypt::decrypt($ciphertext);
变量转储
替代 var_dump,请使用 dump。
dd($var)