infuse/framework

使用 infuse/libs 构建的模块化 PHP 框架

1.0.0 2014-09-25 19:19 UTC

This package is auto-updated.

Last update: 2024-09-13 07:52:28 UTC


README

Build Status

使用 infuse/libs 构建的模块化 PHP 框架

什么是 Infuse 框架?

Infuse 框架是构建现代网络应用的工具。它基于 infuse/libs 构建。该框架的目的是通过简单的模块化设计实现可扩展性和提高开发者生产效率。

特性

  • 模块化
  • MVC 风格
  • 依赖注入
  • phinx 一起使用数据库无关性和迁移
  • 灵活的 URL 路由
  • 使用 Smarty 或纯 PHP 模板化
  • 使用 monolog 记录日志

要求

  • PHP >= 5.4
  • Composer
  • PDO(如果使用模型)
  • mod_rewrite(如果使用 Apache)

可选

  • redis:会话和模型缓存的替代方案
  • memcached:模型缓存的替代方案
  • grunt:编译前端资源

可用模块

身份验证

  • Auth:向框架添加用户身份验证
  • OAuth2:添加对 OAuth2 和 JWT 访问令牌的支持
  • Facebook:添加 Facebook 作为身份验证方法
  • Twitter:添加 Twitter 作为身份验证方法
  • Instagram:添加 Instagram 作为身份验证方法

服务

  • API:为模型提供 RESTful API 脚手架
  • Cron:后台处理计划任务
  • Email:提供用于队列和发送电子邮件模板的邮件发送器依赖项
  • IronMQ:使用 iron.io 推送队列

管理员

  • Admin:在模型上生成 CRUD 操作的管理面板
  • Statistics:使用管理员仪表板收集统计信息

演示

演示已设置在 infuse.jaredtking.com

入门

1. 使用 composer 安装

composer create-project infuse/framework ./path/to/dir

Infuse 框架通过 public 目录提供服务,以防止框架文件被服务。这需要为 web 服务器进行少量配置才能正常工作。

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

特此免费授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的任何人,在本软件不受限制的情况下处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供方提供软件的人士行使其权利,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是基于合同、侵权或其他方式,因软件或其使用或其他处理而产生。