0

我正在构建一个旨在为用户提供文件共享功能的 Web 应用程序,这是一个安全的应用程序,因为该服务是付费的,并且将使用Stripe Payment API

但是我无法决定哪个 php 框架最适合这项任务。我很清楚这两者都可以做到,但我希望框架在服务器上轻量级,而不是像 RAM 和 CPU 这样的服务器资源,因为我现在受到限制,但如果应用程序增长得比资源高会增加。

我查看了 Code Igniter 和 CakePHP。在我看来,CakePHP 似乎比 CodeIngiter 轻得多,但我从来没有使用过任何一个,所以我无法判断。我需要框架做的就是

  • 提供针对 XSS、注入的最高安全性

  • 能够使用文件系统和amazon s3

  • 与 amazon s3 一起玩,并提供简单的上传方法到 s3

  • 提供简单的模板方案

  • 提供最快的数据库和一般响应时间

  • 使用 Stripe 支付 API

  • 高效地使用 PHP 5.3.x 和 MySQL 5.3.x

确实如此,如果您可以提供一些专业反馈,说明哪一个会做得最好,或者在 s3 中处理文件共享和处理文件的任务做得很好,请告诉我。提前致谢。

4

3 回答 3

2

如果你想要一些小的东西,可以选择 Yii,如果它仍然很小,或者任何其他微框架。问题是它是否为您提供了及时完成它所需的一切并且是可靠的。

Cake 在过去几年中只有两个安全问题 AFAIR,最近的一个(1 年前)刚刚遇到 ruby​​ on rails。它是可靠的,并且有数以千计的核心单元测试。

什么是适合您的模板方案?树枝之类的东西?几乎所有模板引擎都有插件。但是模板引擎是一种资源浪费。去普通的 php/html 视图。我知道一些模板引擎支持缓存以提高性能,但这毫无意义,因为 cake 已经提供了缓存技术和整页缓存。所以你可以缓存任何输出。如果您想查看 OOP 视图,请查看 Cake 的Ctk 插件

我编写了一个插件,用于在任何类型的存储系统中存储文件。它支持的存储引擎比您列出的少数几个还要多。它正是为您要求的任务而编写的。我先在本地存储文件,然后再将它们移动到 S3。

我不知道是否有任何免费可用的条带 API 插件,我认为你必须自己编写一些代码...... ;) 如果你喜欢蛋糕,你可以使用这个插件作为基础,并且也许您想让它开源,在这种情况下,我会帮助您。但我确信任何 php 框架都可以使用这个 API。

于 2013-01-09T01:49:48.163 回答
2

CodeIgniter 并没有太多新的改进。要利用新的 PHP 5.3,我建议您改用 CakePHP。他们正在积极开发将完全支持 5.3 的版本 3。

以下帖子可能会帮助您做出正确的决定。 http://philsturgeon.co.uk/blog/2012/05/laravel-is-awesome

于 2013-01-09T03:29:55.003 回答
1

我建议使用codeigniter。我已经大量使用了两者,而且我对 Cake 确实有很多问题。蛋糕不是两者中较轻的,我发现蛋糕希望你以蛋糕的方式做事,否则你会很痛苦。这不是一个框架应该如何工作的。另一方面,Codeigniter 是一个支持您的框架,但允许您根据需要全天编写通畅的 php。Cake 非常擅长挡道,而且学习曲线要​​陡峭得多。Codeigniter 会让你做所有你需要的事情,例如,我知道有一些方便的功能,比如$this->security->xss_clean($your_data);返回清除 xss 问题的数据。所以它对这样的东西的支持非常方便。模板在 codeigniter 中的健壮性较差,但我喜欢 codeigniter 的原因是它不会妨碍您并让您编写 PHP 代码。这很好,因为你知道如何用 PHP 编码,而当你用 Cake 编码时,你正在编写奇怪的蛋糕代码。如果有更多的人加入团队,这会产生令人讨厌的副作用,使代码难以管理,并且不可能向不了解蛋糕的人寻求蛋糕方面的帮助。蛋糕也不保证向后兼容性,您的安装永远是您的,如果您使用 1.6 版,那么您可能无法在不认真重写的情况下迁移到 2.0(这似乎是他们的短视。)

不过,Cake 将为您提供更多功能,因此,如果您赶时间,它将帮助您完成大部分设置,前提是您始终保持冷静地按照自己的方式行事。如果你不是最擅长数据库的东西,蛋糕就会完全抽象出来。我个人讨厌这样,因为我对 db 微调很认真,而且我想做很多事情来更好地利用 db 蛋糕,只是完全禁止。Codeigniter 的自由,为什么我会选择它。它的文档是很棒的两个。哦,是的,文档。Codeignite 的文档比 cake 好得多,所以这也是选择它的好理由。

于 2013-01-09T01:45:08.613 回答