php symfony 与 cakephp
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1242060/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
symfony vs cakephp
提问by stereoscott
What is conceptually the difference between symfony and cakephp?
symfony 和 cakephp 在概念上有什么区别?
回答by stereoscott
Just to balance out this thread, this is why I like symfony:
只是为了平衡这个线程,这就是我喜欢 symfony 的原因:
- uses PHP5
- it runs some really big sites like Yahoo! Answers, delicious, and Daily Motion.
- good documentation. the jobeet tutorial on the website is awesome. walks you straight through all of the features, and after you are done you feel like you can build anything.
- is highly modular; many of the symfony components work on their own.
- allows you to choose eitherPropel orDoctrine as your ORM. Doctrine is really great and easy to use.
- you can define your models with YAML or in PHP, its up to you. Some people don't like configuration files, and you can really limit their use if you want to steer clear of YAML.
- the updated symfony cli (as of 1.2) is awesome. I agree with abales, before this version it was a little wonky, but now it is very well documented and follows a predictable format.
- there are a lot, and i mean a lot, of similarities with ruby on rails, except that of course PHP isn't quite as pretty or flexible as Ruby(!). But, if you talk to a cake developer, they will probably say the opposite :)
- the symfony admin generator, which is a step up from CRUD (which also exists in symfony), is a huge time saver. Using your data model it will generate customizableadmin interfaces complete with list views (index), create, and edit pages. It's not like basic crud where it generates the source and you go in and modify it... You actually can define how each field looks, which fields you want to include, what additional actions you can perform on each object, and so on.
- 使用 PHP5
- 它运行着一些非常大的网站,比如Yahoo! 答案,美味,每日运动。
- 很好的文档。网站上的 jobeet 教程很棒。带您直接了解所有功能,完成后您会觉得自己可以构建任何东西。
- 高度模块化;许多 symfony 组件都是独立工作的。
- 允许您选择要么行走或学说作为你的ORM。Doctrine 真的很棒而且很容易使用。
- 您可以使用 YAML 或 PHP 定义模型,这取决于您。有些人不喜欢配置文件,如果您想避开 YAML,您可以真正限制他们的使用。
- 更新的 symfony cli(从 1.2 开始)很棒。我同意 abales,在这个版本之前它有点不稳定,但现在它有很好的文档记录并遵循可预测的格式。
- 与 ruby on rails 有很多,我的意思是很多相似之处,当然除了 PHP 不像 Ruby(!) 那样漂亮或灵活。但是,如果您与蛋糕开发商交谈,他们可能会说相反的 :)
- 所述symfony的管理员发生器,其是从CRUD(其也存在于symfony中)的工序时,是节省大量的时间。使用您的数据模型,它将生成可自定义的管理界面,包括列表视图(索引)、创建和编辑页面。它不像基本的 crud,它生成源然后你进入并修改它......你实际上可以定义每个字段的外观,你想要包含哪些字段,你可以对每个对象执行哪些附加操作,等等。
Conceptually, I'd say the difference is this:
从概念上讲,我会说区别在于:
- CakePHP has a smaller learning curve. If you have never used a MVC framework, Cake will be easier to pick up and run with in a short amount of time.
- Symfony feels bit "bigger," not to say that it is slow, but that there is a lot of code back there that will let you do a lot of really advanced things when you need to.
- CakePHP 的学习曲线更小。如果您从未使用过 MVC 框架,Cake 将在短时间内更容易上手和运行。
- Symfony 感觉有点“大”,并不是说它很慢,而是那里有很多代码可以让你在需要时做很多真正高级的事情。
The best advice I can give is to quickly try to set up a your own simple data model in both, and experiment with some basic interfaces, and just see which fits your own coding style the best. I think both frameworks have very active and passionate user communities and you won't regret your decision either way.
我能给出的最好建议是快速尝试在两者中建立自己的简单数据模型,并尝试一些基本接口,然后看看哪个最适合您自己的编码风格。我认为这两个框架都有非常活跃和热情的用户社区,无论哪种方式你都不会后悔你的决定。
回答by del_dan
- CakePHP philosophy is similar to Ruby on Rails.
- CakePHP is better for medium projects.
- CakePHP is faster to learn.
- CakePHP is lighter than symfony.
- CakePHP's Database Interaction uses CRUD.
- CakePHP uses the test system PHPUnit.
- Is interesting in CakePHP Bake and scaffolding.
- CakePHP 的理念类似于 Ruby on Rails。
- CakePHP 更适合中型项目。
- CakePHP 学起来更快。
- CakePHP 比 symfony 轻。
- CakePHP 的数据库交互使用 CRUD。
- CakePHP 使用测试系统 PHPUnit。
- 在 CakePHP Bake 和脚手架中很有趣。
- Symfony's philosophy is each version is different.
- Symfony's is slower to learn.
- Symfony's is best for large projects.
- Symfony's Database Interaction uses Doctrine.
- Symfony's uses the test system PHPUnit.
- Is interesting in Symfony's Bundles and templates.
- Symfony 的理念是每个版本都不同。
- Symfony 的学习速度较慢。
- Symfony 最适合大型项目。
- Symfony 的数据库交互使用 Doctrine。
- Symfony 使用测试系统 PHPUnit。
- 在 Symfony 的捆绑包和模板中很有趣。
回答by arbales
A big difference is in how models are created: CakePHP models are written in PHP, and Symfony models are written in YAML and powered by Propel. CakePHP's approach is more similar to ROR's ActiveRecord (although it isn't exactly an AR implementation). CakePHP, in general, is more rails-esque.
一个很大的区别在于模型的创建方式:CakePHP 模型是用 PHP 编写的,而 Symfony 模型是用 YAML 编写的并由 Propel 提供支持。CakePHP 的方法更类似于 ROR 的 ActiveRecord(虽然它不完全是 AR 实现)。一般来说,CakePHP 更像 Rails 风格。
CakePHP's documentation and tools, in my opinion, have a wider target audience and the syntax and helpers are easier, but thy have yet to embrace PHP5 as their exclusive target (to autoloading isn't really there). In general, I prefer CakePHP's approach because it sort of follows an established standard, and I applaude it's organization. I'd also recommend Kohanafor it's PHP5 goodness.
在我看来,CakePHP 的文档和工具有更广泛的目标受众,语法和帮助程序更容易,但是您还没有将 PHP5 作为他们的专属目标(自动加载实际上并不存在)。总的来说,我更喜欢 CakePHP 的方法,因为它有点遵循既定的标准,我赞赏它的组织。我还推荐Kohana,因为它具有 PHP5 的优点。
There's another poston stack overflow about this question, although its a bit different in focus.
关于这个问题,还有另一篇关于堆栈溢出的帖子,尽管它的重点有点不同。
Edit: I revisted Symfony to find the reasons I said 'no' and came up with these —?your opinions and mileage may vary:
编辑:我重新审视了 Symfony 以找出我说“不”的原因并提出了这些 - 你的意见和里程可能会有所不同:
CakePHP also offers dead simple scaffolding and easy to understand CLI tools. Symfony's CLI syntax is a bit wonky to me, and 'CRUD' in Symfony just isn't the same. Combine that with Symfony's (awkard) action syntax and throw in Symfony's poorly designed (and challenging to understand) website, and preference for 3rd-party paid documentation (books on Amazon) and you have more ticks in the cons column.
CakePHP 还提供非常简单的脚手架和易于理解的 CLI 工具。Symfony 的 CLI 语法对我来说有点古怪,而 Symfony 中的“CRUD”就不一样了。将其与 Symfony 的(笨拙的)动作语法相结合,并加入 Symfony 设计不佳(且难以理解)的网站,以及对 3rd 方付费文档(亚马逊上的书籍)的偏好,您将在缺点栏中有更多的勾号。
回答by Tom
Some of the claims about CakePHP and limitations above simply isn't true. The query is possible. You just have to know how to make it. The "automagic" of CakePHP is SUPER nice so you can hit the ground running FAST. It is BY FAR the FASTEST framework to development (hence why it's so closely modelled after RoR which obviously was a big success and buzz). There are more advanced behaviors to get data returned differently and make some of those more complex queries with a few short method calls and array parameters specified.
上面关于 CakePHP 和限制的一些说法根本不是真的。查询是可能的。你只需要知道如何制作它。CakePHP 的“自动魔法”非常好,因此您可以快速启动。它是迄今为止最快的开发框架(因此它如此紧密地模仿 RoR,这显然是一个巨大的成功和嗡嗡声)。有更高级的行为来获取以不同方式返回的数据,并使用一些简短的方法调用和指定的数组参数进行一些更复杂的查询。
However. As far as I can tell, no other framework has as many "automagic" methods and classes. Cake takes the most common of tasks and provides an easy way to get it done. If you're really clever, you'll do most of your coding at the model level and make use of the app_model and app_controller file and have an extremely efficient application.
然而。据我所知,没有其他框架有这么多的“自动”方法和类。Cake 处理最常见的任务,并提供了一种简单的方法来完成它。如果您真的很聪明,您将在模型级别完成大部分编码,并使用 app_model 和 app_controller 文件并拥有一个极其高效的应用程序。
The console is great and always expanding. The community is truly amazing and there are many many contributions to help you get things rolling even faster. You can literally architect and then move "pieces" into place to build an app very quickly because most of what you'll need is available. You do not get that with any other framework. You have to spend a LOT more time coding usually.
控制台很棒并且一直在扩展。社区真的很棒,有很多贡献可以帮助您更快地开展工作。您可以从字面上构建,然后将“部分”移动到位以非常快速地构建应用程序,因为您需要的大部分内容都是可用的。任何其他框架都无法做到这一点。通常,您必须花费更多时间进行编码。
Lastly. While the documentation was lagging, it is much better now and while Cake also got some harsh reviews during this lack of documentation and version 1.1 period...It was STILL good, just severely overlooked. With 1.2 and now Cake2 and Cake3 on the horizon...You're going to see a lot of opinions changing.
最后。虽然文档滞后,但现在好多了,而 Cake 在缺乏文档和 1.1 版本期间也得到了一些严厉的评论......它仍然很好,只是被严重忽视了。随着 1.2 以及现在的 Cake2 和 Cake3 的出现……您将看到很多意见发生变化。
I have used CakePHP since 1.1. I'm a firm believer in it. I have used it for huge corporate sites. That receive millions and millions of hits per day...We're out of the realm of things like WordPress and Drupal for solutions. When you get to that level for a CMS type site, I am super glad to have CakePHP on it. Likewise, Symfony and CodeIgniter will help you with the scaling. I can't say anything bad about either of those frameworks either. I can only say that you will spend less time coding and find a larger community (and a super friendly IRC channel) with CakePHP.
我从 1.1 开始使用 CakePHP。我坚信它。我已经将它用于大型企业网站。每天收到数以百万计的点击......我们已经超出了 WordPress 和 Drupal 等解决方案的领域。当您达到 CMS 类型站点的那个级别时,我非常高兴在它上面安装 CakePHP。同样,Symfony 和 CodeIgniter 将帮助您进行缩放。我也不能说这两个框架有什么不好。我只能说你会花更少的时间编码并找到一个更大的社区(和一个超级友好的 IRC 频道)使用 CakePHP。
回答by Jose Diaz-Gonzalez
I'm going through and documenting some of my responses to the above comments about CakePHP and some of it's (in some cases rightly) perceived faults.
我正在浏览并记录我对上述关于 CakePHP 的评论的一些回应,以及其中一些(在某些情况下是正确的)感知到的错误。
Big websites are run using CakePHP, some being Mozilla Addons, Scratch by MIT, and Hot Scripts. There is a bigger list right at the bottom of the CakePHP website (http://cakephp.org). Regardless, any good developer should be able to build a scalable website using a framework as long as the framework isn't completely silly (CakePHP isn't too silly :D ).
大型网站使用 CakePHP 运行,其中一些是 Mozilla Addons、麻省理工学院的 Scratch 和 Hot Scripts。CakePHP 网站 ( http://cakephp.org)底部有一个更大的列表。无论如何,任何优秀的开发人员都应该能够使用框架构建一个可扩展的网站,只要该框架不是完全愚蠢的(CakePHP 也不是太愚蠢 :D)。
It is true that there isn't one very good (free) CakePHP tutorial that goes through every feature of the framework, but the documentation is extremely well laid out and verbose. Anything that isn't clear can be cleared up through the Google Group and on IRC, and we welcome any and all changes/corrections to the documentation. Documentation is not just a core developer issue, as many things are application specific and people come up with interesting tips and tricks, and so thusly everyone is invited to contribute (Not just comment!). Of course it is all moderated, so most of the cruft/spam is not added.
确实,没有一个非常好的(免费)CakePHP 教程介绍框架的每个功能,但是文档布局非常好且冗长。任何不清楚的地方都可以通过 Google Group 和 IRC 清除,我们欢迎对文档进行任何和所有更改/更正。文档不仅仅是开发人员的核心问题,因为许多事情都是特定于应用程序的,人们会提出有趣的提示和技巧,因此邀请每个人都做出贡献(不仅仅是评论!)。当然,所有内容都经过审核,因此不会添加大部分垃圾邮件/垃圾邮件。
The code is modular in that you can add in new code that supercedes core functionality. Much of the code is simply PHP classes. It is true that writing such functionality may be a burden, and I have not tried using alternate classes as fillins. Yes, it does not handle other ORMs, so you are stuck with the default, but this should be fixed in Cake3, which will be able to mix and match any other PHP classes at will (that includes Propel and Doctrine support).
代码是模块化的,因为您可以添加取代核心功能的新代码。大部分代码只是 PHP 类。确实,编写这样的功能可能是一种负担,我还没有尝试过使用替代类作为填充物。是的,它不处理其他 ORM,所以你坚持使用默认值,但这应该在 Cake3 中修复,它可以随意混合和匹配任何其他 PHP 类(包括 Propel 和 Doctrine 支持)。
The CLI is very good, and it is easy to extend for App-specific support. One example is that I recently developed a shell plugin that would automatically install any other CakePHP plugin that I have indexed from github. Took about 5 hours to build something extremely usable and flexible. I'm sure such functionality exists for Symfony, and it DOES exist for RoR :)
CLI 非常好,并且很容易扩展以获取特定于 App 的支持。一个例子是我最近开发了一个 shell 插件,它会自动安装我从 github 索引的任何其他 CakePHP 插件。花了大约 5 个小时来构建一些非常有用和灵活的东西。我确信 Symfony 存在这样的功能,而且它确实存在于 RoR 中 :)
As for being Rails-like, it is and it isn't. Many things are similar, they are MVC frameworks after all, and CakePHP goes for the "Conventions vs Configuration" approach. PHP4 support mucks with a nicer syntax, which Symfony doubtless has because of PHP5-only support, but it is still extremely usable and intuitive. The framework does not provide EVERY feature of Rails out of the box as it isn't a straight clone. CakePHP is a framework, not a library (hi Zend), so it won't provide everything out of the box.
至于像 Rails 一样,它是,也不是。很多东西都是相似的,毕竟它们都是 MVC 框架,而 CakePHP 则采用了“约定 vs 配置”的方法。PHP4 支持的语法更好,Symfony 毫无疑问是因为 PHP5 只支持,但它仍然非常有用和直观。该框架没有提供开箱即用的 Rails 的所有功能,因为它不是一个直接的克隆。CakePHP 是一个框架,而不是一个库(嗨 Zend),因此它不会提供开箱即用的所有内容。
Generation of views is, I agree, a bit wonky in CakePHP. It is being greatly enhanced in CakePHP 1.3 and 2.0. It will support custom templates for each and every Model, View and Controller (as opposed to just a type of view as it does now). Also, there exists a set of shell tasks on github by a user going by neilcrookes that auto-bakes only certain types of views (including only admin views) which can be used in combination with custom templates to produce exactly what you want. CSS styling also helps :) but this is definitely something that can be improved.
我同意,在 CakePHP 中生成视图有点不稳定。它在 CakePHP 1.3 和 2.0 中得到了极大的增强。它将支持每个模型、视图和控制器的自定义模板(而不是像现在这样只是一种视图)。此外,github 上存在一组 shell 任务,由用户通过 neilcrookes 执行,这些任务仅自动烘焙某些类型的视图(仅包括管理视图),这些视图可与自定义模板结合使用以准确生成您想要的内容。CSS 样式也有帮助 :) 但这绝对是可以改进的。
CakePHP takes many varied parameters in it's Model::find methods, although in certain cases it may be useful to use raw SQL queries. The Model::find() method is very flexible and has not failed me insofar as creating complex finds. I suppose that is related to being comfortable with the ORM, which inevitably always takes time.
CakePHP 在它的 Model::find 方法中采用了许多不同的参数,尽管在某些情况下使用原始 SQL 查询可能很有用。Model::find() 方法非常灵活,在创建复杂查找方面并没有让我失望。我想这与对 ORM 的适应有关,这不可避免地总是需要时间。
Form validation should logically be in the model layer, as that is where any action related to the database is being performed. You can specify alternate validation in a specific view I believe, or swap validations (there is a behavior for this but it wouldn't be hard to do so without it).
表单验证逻辑上应该在模型层,因为这是执行与数据库相关的任何操作的地方。您可以在我相信的特定视图中指定替代验证,或者交换验证(有一种行为,但没有它就不难做到)。
Multidimensional arrays are a bit silly, but you'd still likely have multidimensional objects. PHP4 had a broken Object Model and so that is why CakePHP does not use objects. This is being corrected in a future version of CakePHP (as I pointed out above in a previous comment), but it is useful to have a framework that supports PHP4 in some cases. Again, YMMV and I agree that full PHP5 will be a great boon, both in speed of the application and of development.
多维数组有点傻,但你仍然可能有多维对象。PHP4 有一个损坏的对象模型,这就是 CakePHP 不使用对象的原因。这将在 CakePHP 的未来版本中得到纠正(正如我在前面的评论中指出的那样),但在某些情况下拥有支持 PHP4 的框架很有用。再次,YMMV 和我同意完整的 PHP5 将是一个巨大的福音,无论是在应用程序还是开发速度方面。
Databases can be swapped out at will. CakePHP does not allow functionality that is inherent in only one type of DB (hence the dropped support of ENUMs that are only in MySQL), so that the ORM is always supported and can always build valid queries. You can have multiple databases in an application, one per each Model if you wanted, and can swap them at will or even not use a database at all for a specific model. So no, it is not tied to a specific database.
数据库可以随意换出。CakePHP 不允许仅在一种类型的 DB 中固有的功能(因此放弃了对仅在 MySQL 中的 ENUM 的支持),因此始终支持 ORM 并且始终可以构建有效的查询。您可以在一个应用程序中拥有多个数据库,如果需要,每个模型一个,并且可以随意交换它们,甚至根本不使用特定模型的数据库。所以不,它不绑定到特定的数据库。
In the end, your choice is your own, and I wholeheartedly suggest looking into both and reading through the documentation, checking out the Groups, IRC channels, blogs and any forums for both and seeing which framework suits your development style the best. Reader beware, I'm a CakePHP developer so my post has some bias.
最后,你的选择是你自己的,我全心全意地建议同时研究和阅读文档,查看组、IRC 频道、博客和任何论坛,看看哪个框架最适合你的开发风格。读者请注意,我是一名 CakePHP 开发人员,所以我的帖子有一些偏见。
回答by benlumley
Further to the existing answers, you should try both if possible. I use both quite a bit, and over some time, have come to prefer symfony.
除了现有答案之外,如果可能,您应该同时尝试两者。我使用了很多,一段时间后,我更喜欢 symfony。
but I'm fairly convinced that its not because one or other is better, but because symfony happens to suit the way my mind works better, its closer to what I do when I write software outside a framework, so feels more intuitive. I expect that others may find their mind fits the paradigm of another framework.
但我相当相信这不是因为一个或另一个更好,而是因为 symfony 恰好适合我的思维方式更好地工作,它更接近我在框架外编写软件时所做的事情,所以感觉更直观。我希望其他人可能会发现他们的思想适合另一个框架的范式。
Having said that, I do think that cakephp's objects are a weakness, through the use of arrays rather than objects. (This is something that periodically develops into an intense hatred inside me whenever I need to do something that it makes hard ... ! ) They could do exactly the same, but return objects rather than arrays to represent data, and I think most of the issues I have would go away - you'd be able to add extra functionality into the data objects to achieve the things I want to do, rather than writing functions in the existing model class and passing them an array.
话虽如此,我确实认为 cakephp 的对象是一个弱点,通过使用数组而不是对象。(每当我需要做一些让我感到困难的事情时,这就会周期性地发展成为我内心的强烈仇恨......!)他们可以做完全相同的事情,但返回对象而不是数组来表示数据,我认为大多数我遇到的问题会消失 - 您可以在数据对象中添加额外的功能来实现我想要做的事情,而不是在现有模型类中编写函数并将它们传递给数组。
回答by benlumley
The model layer of CakePHP is a mess. Try doing simple things like a many-to-many relationship between a Category and an Item object and then retrieve all the Items in a Category that have a specific property set.
CakePHP 的模型层一团糟。尝试做一些简单的事情,比如类别和项目对象之间的多对多关系,然后检索类别中具有特定属性集的所有项目。
Like:
喜欢:
SELECT items.* FROM items, categories, item_categories WHERE item.available=1 AND category.id=1 AND item_categories.category_id = category.id
Something so trivial is not possible in one statement in cake with the find() method of a model.
使用模型的 find() 方法在蛋糕中的一个语句中不可能实现如此微不足道的事情。
There is also no way in the core API to add a single many-to-many relationship as in one item to the item_category table above. There are a couple solutions online including a behavior that someone posted in the bakery (http://bakery.cakephp.org/articles/view/add-delete-habtm-behavior), but that's just stuff that any good ORM framework like Propel, Torque(Java), Hibernate(Java), SQLObject(Python), SQLAlchemy(Python) support right out of the box. Basically you're either going to have to write a lot of PHP code to add those missing features or use raw SQL queries but the main purpose of a framework is to avoid doing those things so that you can focus on the application that you're writing so you're not really gaining much with CakePHP.
核心 API 中也没有办法像在上面的 item_category 表中的一个项目那样添加单个多对多关系。网上有几个解决方案,包括某人在面包店发布的行为(http://bakery.cakephp.org/articles/view/add-delete-habtm-behavior),但这只是像 Propel 这样任何好的 ORM 框架的东西, Torque(Java), Hibernate(Java), SQLObject(Python), SQLAlchemy(Python) 支持开箱即用。基本上,您要么必须编写大量 PHP 代码来添加这些缺失的功能,要么使用原始 SQL 查询,但框架的主要目的是避免做这些事情,以便您可以专注于您正在使用的应用程序写作,所以你并没有真正从 CakePHP 中获益。
There are a bunch of other problems and they all really have to do with the model layer including the form validation being tied into the model layer, having to deal with messy multidimensional arrays, having to use raw sql and tying your app to a specific database.
还有很多其他问题,它们都与模型层有关,包括绑定到模型层的表单验证、必须处理凌乱的多维数组、必须使用原始 sql 并将您的应用程序绑定到特定数据库.
I would say use symfony. It's a bigger framework might take a few days longer to learn but it will be well worth it. I was going to use CakePHP for a project that I am working on, after running to too many of those types of issues I switched to symfony and it's been smooth sailing.
我会说使用symfony。这是一个更大的框架,可能需要多花几天时间来学习,但它非常值得。我打算将 CakePHP 用于我正在从事的项目,在遇到太多此类问题后,我切换到 symfony 并且一切顺利。
回答by Mr.Lee
One difference more is: Symfony separated to 3 environments: Development, Production and Testing - CakePHP can not! It's easy to develop and test product at same time
还有一个区别是:Symfony 分为 3 个环境:开发、生产和测试——CakePHP 不能!同时开发和测试产品很容易
回答by Simon East
Cake 2.0 nicely autoloads most of the classes you need, whereas I found in Symfony 2 that every class had to have numerous imports at the top of the script. Attempting to memorize all those imports is near-impossible, so you always need a reference handy.
Cake 2.0 很好地自动加载了您需要的大多数类,而我在 Symfony 2 中发现每个类都必须在脚本顶部有大量导入。试图记住所有这些导入几乎是不可能的,所以你总是需要一个方便的参考。
eg.Symfony 2 controller code...
例如。Symfony 2 控制器代码...
namespace Acme\HelloBundle\Controller;
use Symfony\Component\HttpFoundation\Response;
// bunch of other imports accumulate here...
class HelloController {
...
Argh, yuck. While that may be good OO technique for the purists, it lengthens development time (bye bye RAD). At least with Cake I can code most of the simple stuff quickly from memory now.
啊,呸。虽然这对于纯粹主义者来说可能是很好的面向对象技术,但它会延长开发时间(再见 RAD)。至少有了 Cake,我现在可以从记忆中快速编写大部分简单的东西。

