朋友们,
我想在Zend Framework中创建分页.我是ZF的新手.
index.phtml如下
<table>
<tr>
<th>Name</th>
<th>Quantity</th>
<th> </th>
</tr>
<?php foreach($this->orders as $order) : ?>
<tr>
<td><?php echo $this->escape($order->name);?></td>
<td><?php echo $this->escape($order->quantity);?></td>
<td>
<a href="<?php echo $this->url(array('controller'=>'index','action'=>'edit', 'id'=>$order->id));?>">Edit</a>
<a href="<?php echo $this->url(array('controller'=>'index', 'action'=>'delete', 'id'=>$order->id));?>">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</table>
<p><a href="<?php echo $this->url(array('controller'=>'index','action'=>'add'));?>">Add new album</a></p>
Run Code Online (Sandbox Code Playgroud)
我的索引控制器在下面
class IndexController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
$this->view->title = "My Orders";
$this->view->headTitle($this->view->title, 'PREPEND');
$orders = new Model_DbTable_Orders();
$this->view->orders = …Run Code Online (Sandbox Code Playgroud) 我现在正在尝试将整数转换为字符串,但遇到了问题。
我已经完成了大部分代码的编写和工作,但是在传送到下一个地方时它有一个小缺陷。这很难描述,所以我给你举个例子。使用 base 26 和由小写字母组成的字符集:
0 = "a"
1 = "b"
2 = "c"
...
25 = "z"
26 = "ba" (这应该等于 "aa")
在某些情况下似乎会跳过字符集中零位的字符。
令我困惑的是我的代码没有任何问题。我已经在这方面工作了太久了,但我仍然无法弄清楚。
char* charset = (char*)"abcdefghijklmnopqrstuvwxyz";
int charsetLength = strlen(charset);
unsigned long long num = 5678; // Some random number, it doesn't matter
std::string key
do
{
unsigned int remainder = (num % charsetLength);
num /= charsetLength;
key.insert(key.begin(), charset[remainder]);
} while(num);
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,该函数在返回零的模数上绊倒了,但我一直在研究这个,我无法弄清楚它是如何发生的。欢迎任何建议。
编辑:生成的字符串是小端的这一事实与我的应用程序无关。
我想慢慢收起并行编程.我见过人们使用安装了OpenMPI的集群来学习这些东西.我无法访问群集但拥有四核机器.我能在这里体验到任何好处吗?另外,如果我在虚拟机中运行linux,那么在VM中使用OpenMPI是否有意义?
我已经做了很多随机的数学课程来帮助我完成我的作业(合成部门是最有趣的),现在我想要扭转一个激进的表达.
例如,我得到的便携式TI计算器
.2360679775
Run Code Online (Sandbox Code Playgroud)
好吧,我想将这个数字转换成等价的非理性表达式,即
sqrt(5)-2
Run Code Online (Sandbox Code Playgroud)
我意识到我可以强行扼杀它......但是当你考虑到浮点的重大舍入误差时,这会带来乐趣,并不是那么容易.
那你怎么做的?有一个简单的算法吗?
我无法搞清楚我的AppDomain.Unload(...)电话.我用我之前的问题中的代码详细解释了一下.事实证明,我执行了几个步骤,显然,我不需要.但是,我很确定在创建AppDomain并将其保存在集合中时:
private static Dictionary<string , AppDomain> HostDomains;
void StartNewDomain(string domainName)
{
AppDomain domain = AppDomain.CreateDomain(domainName);
HostDomains[domainName] = domain;
}
Run Code Online (Sandbox Code Playgroud)
......当你完成它之后,你必须卸载它:
if (HostDomains.ContainsKey(domainName))
{
AppDomain.Unload(HostDomains[domainName]);
HostDomains.Remove(domainName);
}
Run Code Online (Sandbox Code Playgroud)
然后从集合中删除域.
但是,当我卸载域时,整个应用程序正在结束.如果我删除卸载,一切都很好......我们只是从集合中删除域.但我担心我的孩子AppDomain 没有真正卸载.它可能最终得到GC我猜,但这并没有给我一个温暖的模糊.
子AppDomain程序集(Windows窗体应用程序)通过我继承的适配器类中引用的接口(IModule)异步启动MarshalByRefObject.我想知道这个对IModule的Start()(插件模块程序集实现的)的引用是不是正确编组(因为我的实现).因此,当调用Shutdown()方法时,整个应用程序都会死掉.我应该使我的IModule成为一个抽象类,所以它应该继承MBR吗?困惑...
看完我的代码后:
// instances the module for access to the module's Start() method
IModule module = (IModule)domain.CreateInstanceAndUnwrap(
ModuleManager.Modules[modName].Name,
ModuleManager.Modules[modName].EntryPoint.FullName);
Run Code Online (Sandbox Code Playgroud)
...我担心,因为IModule是一个接口,即使我在子域中创建一个实例,程序集也会泄漏到我的主AppDomain中.因此,当我尝试卸载子域时,两个域都被卸载.这是正确的吗?什么可能是通过MBR(适配器)对象提供Start()和Stop()方法的最佳解决方案?
更新:请参阅下面的答案进行更改 -
好的,没有泄漏 - 一切都继承了MBR:
我还做错了吗?我尝试了几件事情,但这似乎是错误的或不完整的.当我告诉ModuleAdapter关闭时,它会调用AppDomain.Unload(AppDomain.CurrentDomain)并且Host域也会停止.我仍然在应用程序退出时获得一些第一次机会异常.但是形式(myForm)已被告知.Close().
所以,我仍在寻找正确的方法......
我正在创建一个社交网络.它有几个实体,如新闻,照片,可以有评论.由于所有注释都具有相同的列并且行为方式相同,唯一的区别是它们的类型 - 新闻,照片或将来要添加的其他内容 - 我决定使用名为列的所有注释创建一个表type.它工作得很好,直到我决定将外键添加到我的数据库模式.
该comment表具有一个柱parent,它是指id的news或photo表,这取决于塔type.
问题是,我不能添加一个引用未知表的外键,甚至更多,它一次引用几个表.
整个数据库现在使用外键,除了表parent中的这一列comment.它困扰我,因为它是我无法添加外键的唯一地方.
我敢肯定我不能创造这样的外键; 我的数据库设计中的某些东西需要改变.我决定创建一个评论表,准备为将来的新实体添加新的评论类型 - 视频,音乐,文章等 - 当我想为所有评论添加一个新列时,不要遇到维护地狱.
如果我必须为每个注释类型创建一个单独的表,以便能够完全使用外键,我会这样做.但也许这个问题的另一个常见解决方案已经存在,我只是不知道它?
也许我应该创建某种链接表,将comment表与其他实体的表链接起来?但也许这个解决方案比为每个评论类型创建一个单独的表更复杂?
也许我应该在comment表中有几列,比如newsId,photoId我可以添加外键吗?
这些解决方案对我来说似乎并不优雅,或者我只是误解了一些东西.我对这个问题的全部看法可能是完全错误的.这就是我在这里的原因.请分享您的想法.