我知道问题标题似乎很开放,但我已经围绕这个主题做了一些阅读/实验,并且除了构建我自己的程序式应用程序之外,还使用了 Cake。我的目标是将我的程序应用程序带到 CakePHP。
应用程序做什么(或想要做什么)
所以,我有一堆clients
,每个客户都有 1 个或更多accounts
。每个account
都有holdings
其值存储在特定日期的值。这是数据库结构的示例
这个想法是为客户、账户等提供标准的 CRUD 页面。但也有更复杂的页面,例如,提供客户账户的回报历史以及投资组合统计数据。(我还有其他包含更多信息的表格,但为了简单起见,我暂时从这个问题中省略了它们)
我做了什么
因此,按照教程,我为客户和帐户制作了模型,并设法链接(关联?)CakePHP 中的客户和帐户表。我还制作了允许我检索客户和帐户的控制器和视图,并制作了索引、视图、编辑视图。
这是我的模型类:
//Client.php
class Client extends AppModel {
public $hasMany = 'Account';
}
//Account.php
class Account extends AppModel {
public $belongsTo = 'Client';
public $hasMany = 'Holding';
}
//Holding.php
class Holding extends AppModel {
public $belongsTo = 'Account';
}
我之前做了什么
假设我想制作一个页面来显示给定客户的投资组合回报。我在上一个(粗略的)应用程序中所做的只是制作一个 php 文件(portfolio.php)。然后,我将使用原始 SQL 语句在数据库中查询每个月末客户持有的总和。然后我会循环计算从一个月到下个月的值变化百分比的返回数组。
然后可以将这些数据显示在 html 表格中,然后我什至可以在图表等上绘制值。
这当然是一个简单的例子。此页面/视图将介绍其他信息,如基准比较(通过另一个数据库表)、夏普比率、成交量、年化回报等统计数据。
我的问题
与上一节类似的功能如何在 CakePHP 中实现?我所追求的视图/页面似乎不适合 MVC 意识形态。进行计算所涉及的逻辑会去哪里(例如从值数组计算返回)?
如果我能解释这种事情是如何在 MVC/CakePHP 中实现的,那将非常有帮助。
博客教程很有意义,但我还看不出它将如何扩展到更复杂的应用程序。