luminovang / luminova
PHP Luminova 框架,一个简单而强大的框架设计,注重速度
Requires
- php: ^8.0
- ext-json: *
- ext-mbstring: *
- luminovang/framework: ^3.0
- psr/log: ^1.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.64
- nikic/php-parser: ^4.17.1
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10.2
- phpunit/phpunit: ^9.1
- psr/cache: ^3.0
- psr/http-client: ^1.0
- psr/simple-cache: ^3.0
- rector/rector: 0.18.3
Suggests
- ext-curl: Needed if you use CURLRequest class
- ext-exif: Needed if you run Image class tests
- ext-fileinfo: Needed to improves mime type detection for files
- ext-gd: Needed if you use Image class GDHandler
- ext-imagick: Needed if you use Image class ImageMagickHandler
- ext-intl: Needed if you use Local
- ext-memcache: Needed if you use Cache class MemcachedHandler with Memcache
- ext-memcached: Needed if you use Cache class MemcachedHandler with Memcached
- ext-mysqli: Needed if you use MySQL
- guzzlehttp/guzzle: Needed to use Guzzle http client
- league/flysystem: Needed if you use FileSystem cloud storages
- nanoblocktech/psr-cache: If you need to use psr-cache or psr-simple-cache
- peterujah/nano-image: If you want to use outputImage fom file delivery class, for image resizing.
- peterujah/php-search-controller: If you want to use model searching doSearch
- phpmailer/phpmailer: Needed if you want to use PHPMailer client
- psr/http-client: Needed to use Guzzle http client
- psr/log: Needed to use PSR logging
- smarty/smarty: Needed if you want to use Smarty template engine
- swiftmailer/swiftmailer: Needed if you want use SwiftMailer client
- twig/twig: Needed if you want to use Twig template engine
This package is auto-updated.
Last update: 2024-10-01 21:12:39 UTC
README
关于 Luminova!
Luminova 是一个为速度和效率而构建的 PHP 框架,旨在提高您的现有编码技能。在 Luminova 中,我们通过提供通过 env
文件进行功能定制的功能来优先考虑性能。这确保框架仅包含您项目所需的功能,基于您启用的功能。这种方法允许您启用或禁用功能,以及自定义您首选的模板渲染模式和编码风格。
Luminova 提供了在视图文件中访问模板 View
对象的权限,允许您在模板文件中使用 $this
关键字调用模板方法和属性。如果您更喜欢视图独立渲染,可以禁用此功能,禁用后将允许您使用自定义关键字 $self
访问导出的应用类。
准备好点亮您的项目了吗?深入了解我们的官方文档。更多技巧、窍门和编程乐趣,请查看我们的YouTube 频道。
Composer 安装
通过 Composer 安装 luminova。
composer create-project luminovang/luminova my-project
启动开发服务器
要启动 PHP
开发服务器,请运行以下 NovaKit
命令。
php novakit server
网站地图生成器
要生成您的网站地图,请使用以下 NovaKit
命令。
php novakit generate:sitemap
要了解更多关于 NovaKit 命令的信息,请阅读 novakit 文档。
路由
Luminova 支持使用 Attributes
或 Router
方法实现灵活的路由。
使用 PHP8
属性定义您的路由*
#[Route('/', methods: ['GET'])] public function index(): int { return $this->view('index'); }
或使用基于代码的路由定义您的路由
<?php $router->get('/', 'YourController::index');
我能得到什么?
在这里,我们可以简要介绍您在 Luminova 中可以期待的基本功能。这里还有更多内容。正如 Linus Torvalds所说:“空谈无益。给我看看代码。”
- 数据库构建器:一个强大的对象关系映射(ORM)工具,用于组织 CRUD 操作并简化数据库交互。
- MVC & HMVC 架构:遵循模型-视图-控制器和分层模型-视图-控制器实现。
- 灵活的 HTTP 路由:动态且快速的路线实现,具有清晰的关注点分离。
- 模板:优化本机 PHP 模板,具有额外的继承和缓存功能。您还可以使用
Twig
或Smarty
模板引擎。 - 错误处理:全面的错误处理确保没有错误被忽略,包括非致命的行内错误。
- 会话管理:轻松管理用户登录会话,无需额外实现。
- CLI 路由:类似于 HTTP 路由方法的 CLI 实现动态路由。
- 云存储:支持 AWS、Azure、Google Cloud 等多种云存储解决方案。
- 文件管理:从任何位置通过临时或永久 URL 向浏览器交付文件,以访问私有文件。
- 网站地图生成器:使用
NovaKit
命令生成网站地图。 - Schema 对象:支持为网站页面生成 schema 对象。
- 命令行工具: 完全支持实现CLI工具,所需的一切都可用。
- AI模型: 将AI功能集成或扩展到您的应用程序中。
- 数据库: 一个灵活的数据库系统,支持在用户无干扰的情况下瞬间切换到备份数据库。
- 安全: 各种安全实现以保护您的应用程序和用户信息。
- 请求处理: 安全处理传入和传出的HTTP请求。
- 电子邮件: 在任何地方发送电子邮件,支持将整个视图内容作为电子邮件正文发送。
- 翻译: 使用我们的翻译类为您应用程序创建翻译。
- 加密: 支持不同的加密处理程序和方法。
- 服务: 定义可在代码库中的任何地方共享和发现的类,支持序列化和类对象缓存。
快速提示
Q: 我的会话在开发服务器上工作,但在生产服务器上不行。
- A: 在生产环境中,请更新
/app/Config/Session.php
中的$sessionDomain
为您的实际生产域。一个快速修复方法是使用'.' . APP_HOST
。另外,别忘了相应地更新Cookie.php
配置。
Q: 我的CSS和图片在生产服务器上坏了。
- A: 确保在部署到生产时,在您的环境文件中将
app.environment.mood
键设置为production
。这一小步确保您的资源正确提供。
有什么遗漏的吗?
我们非常重视您的反馈!请通过 peter@luminova.ng 联系我们。让我们知道我们可以添加什么来增强您使用Luminova的经历。您还可以推荐教程给我们的YouTube频道,帮助您更好地理解和使用Luminova。
最重要的是,别忘了在GitHub上对Luminova进行评分。您的评分就像燃料,帮助我们照亮添加更多功能的动力,使Luminova更加知名和强大。