idealistsoft / framework
Requires
- php: >=5.4.0
- idealistsoft/framework-admin: ~1.0
- idealistsoft/framework-auth: ~1.0
- idealistsoft/framework-bootstrap: ~1.0
- idealistsoft/framework-cron: ~1.0
- idealistsoft/framework-email: ~1.0
- idealistsoft/framework-rest-api: ~1.0
- idealistsoft/framework-statistics: ~1.0
- robmorgan/phinx: ~0.3
Requires (Dev)
- mockery/mockery: 0.9.1
README
使用 infuse/libs 构建的模块化 PHP 框架
什么是 Infuse 框架?
Infuse 框架是构建现代网络应用程序的工具。它建立在 infuse/libs 之上。该框架的目标是通过简单的模块化设计实现可扩展性和提高开发者的生产力。
特性
- 模块化
- MVC 风格
- 依赖注入
- 与 phinx 的数据库无关迁移
- 灵活的 URL 路由
- 使用 Smarty 或纯 PHP 模板化
- 使用 monolog 记录
要求
可选
可用模块
身份验证
- Auth:向框架添加用户身份验证
- OAuth2:添加对 OAuth2 和 JWT 访问令牌的支持
- Facebook:添加 Facebook 作为身份验证方法
- Twitter:添加 Twitter 作为身份验证方法
- Instagram:添加 Instagram 作为身份验证方法
服务
管理
- Admin:在模型上生成 CRUD 操作的管理面板
- Statistics:与行政仪表板一起收集统计数据
演示
在 infuse.jaredtking.com 已经设置了一个演示。
入门指南
1. 使用 Composer 安装
composer create-project infuse/framework ./path/to/dir
Infuse 框架通过 public
目录提供服务,以防止框架文件被提供服务。这需要为网络服务器进行少量配置才能正常工作。
2. Nginx
以下是一个示例配置
server { listen 80; server_name example.com; root /var/www/example.com/public; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
2. Apache
在 /public
目录中已经包含了一个 .htaccess 文件用于 URL 重写。您还必须确保 DocumentRoot
指向 {FRAMEWORK_PATH}/public
。
3. config.php
将 config-example.php
的内容复制到 config.php
中,并更新设置以匹配您的应用程序配置。
4. 数据库迁移
一旦设置了配置并与数据库建立了连接,您就可以安装架构。运行
php infuse migrate
5. 编译静态资源
如果您将使用 Grunt 来管理您的静态资源,那么您首先需要确保所有正确的包都已安装
npm install
grunt
您可以使用 grunt
重新编译所有资源,并使用 grunt watch
来监视资源源文件的更改。
为什么还需要另一个 PHP 框架?
Infuse 框架在过去许多项目中为我提供了良好的服务。我希望通过开源它,其他人也能从中受益。如果有任何问题,我非常乐意在问题报告中了解它们。
文档
在 wiki 中了解更多关于 Infuse 框架的信息。
贡献
请随时通过参与问题或提交拉取请求进行贡献。:-)
许可
MIT 许可证 (MIT)
版权所有 © 2014 Jared King
以下条件下,对本软件及其相关文档文件(“软件”)的副本(以下简称“软件”)的使用、复制、修改、合并、发布、分发、再许可和/或出售副本,以及允许获得软件副本的个人进行上述操作
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明示还是暗示,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他原因,无论这些责任是否源于、产生于或与该软件或对该软件的使用或其他方式有关。