我有一个包含17列的表,分为3列组.我可以使用CSS设置背景颜色,这表明我的CSS选择器很好.但是,我无法在每个colgroup的外部设置边框.
首先我尝试了这个CSS:
colgroup.inbound, colgroup.outbound {
background-color: #eeeeee;
border: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
并以这种方式定义列组:
<colgroup span="2"></colgroup>
<colgroup span="12" class="inbound"></colgroup>
<colgroup span="3" class="outbound"></colgroup>
Run Code Online (Sandbox Code Playgroud)
接下来我尝试了这个CSS:
col.inbound, col.outbound {
background-color: #eeeeee;
border: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
并以这种方式定义组:
<colgroup
<col span="2">
<col span="12" class="inbound">
<col span="3" class="outbound">
</colgroup>
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我的背景颜色都会生效,但不会生效.我能看到的唯一边界是所有单元格之间的细白线(不是整个组周围).
我知道table rules属性但是我不想使用它.如果我能弄清楚如何使用它,我认为CSS会给我更大的灵活性!
我可以找到大量关于严格模式在 MySql 和 MariaDB 中的作用的信息,但没有关于何时使用它的信息。这在一定程度上是常识,但我仍然希望有一些一般准则。例如,也许您:
这是一个Zend Framework问题.
如果我有一个控制器,一个动作助手和一个插件,他们的事件发生在什么顺序?下面我按照我认为发生的顺序列出了我感兴趣的事件.订单是否正确?
插件,preDispatch()
动作助手,init()
Action Helper,preDispatch()
控制器,init()
控制器,postDispatch()
动作助手,postDispatch()
插件,postDispatch()
在我看来,当涉及Action Helper和Controller时,init()方法对可以连续运行,然后是一对preDispatch()方法,但我不认为是这种情况.
谢谢你的帮助!
我即将启动Zend中的一些复杂的网页和表单.由于很多这将是我的新领域,我希望你能在我开始之前给我一些关于我的方法的反馈.
我正在使用的信息通常为1-n,例如"1个组织有n个产品".这是我正在研究的这个等式的子部分.从本质上讲,我希望用户能够从单个URL(如mydomain/products/index)添加,查看,更新和删除子项.
请注意,用户可以拥有"成员"或"管理员"权限.
我看到的关键组件是:
这是我看到它如何工作:
这应该加载初始页面.我认为,对于正式特权的用户,它将包括所有产品的表格,包括"删除"和"编辑"链接的列,以及表格底部的"产品添加"表单.
当用户点击链接时:
听起来不错吗?你将做点什么不同的?
我以前没有使用过ActionStack或AjaxContext Helpers,而且对jQuery的使用经验有限.尽管如此,这一切看起来都相当简单.
非常感谢您的想法!
什么是Zend View过滤器?我在ZF1文档http://framework.zend.com/manual/1.12/en/zend.view.introduction.html和Zend_View代码中看到了它们,但是我找不到它们的解释.
也许它是支持其他具有过滤器的模板系统?在这种情况下,过滤器在这些模板系统中做了什么?
谢谢!
我正在对Action Helper的preDispatch方法进行ACL检查.当它失败时,我想调用动作控制器的_redirect方法,但是我很难做到这一点.
在这篇文章附带的评论中,zend-framework从另一个动作助手中调用动作助手,我看到两个解决方案.在第一个中,控制器从助手访问为$ this - > _ actionController.在第二个中,使用$ this-> getActionController()访问它.
我尝试了以下两种方法:
$this->_actionController->_redirect('/');
$this->getActionController()->_redirect('/');
Run Code Online (Sandbox Code Playgroud)
在任何一种情况下,我得到'方法'_redirect'不存在......'.是否可以限制从动作帮助程序访问哪些控制器方法?
当用户在没有正确的post参数的情况下访问/ user/validate时,我的Zend应用程序抛出了一个zend异常.(我得到标准的"发生错误"消息,在我的布局中框住).这是故意的.
我现在正试图用PHPUnit来测试这种行为.这是我的测试:
/**
* @expectedException Zend_Exception
*/
public function testEmptyUserValidationParametersCauseException() {
$this->dispatch('/user/validate');
}
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我收到一条消息,说它失败了,"预期异常Zend_Exception".有任何想法吗?
我在文件中有其他测试工作正常......
谢谢!
我有一个基本用户表单,我为每个用例子类化,即注册,编辑等.
一些表单元素对于所有用例都是通用的,对于这些,我使用表单作为元素工厂,例如$ this-> addElement('text','first_name',array(...)).这很好.
对于仅在某些用例中需要的元素,我在基础表单类中创建它们,但不添加它们,例如$ this-> createElement('text','id',array(...)).当我到达子类本身时,那就是我实际添加这些可选元素的时候.
现在,我认为在子类中我可以使用以下任一方式添加元素:
$this->addElement($this->getElement('id'));
Run Code Online (Sandbox Code Playgroud)
要么
$this->addElement($this->id);
Run Code Online (Sandbox Code Playgroud)
但事实并非如此.我得到一个例外,说我正在尝试addElement(NULL).
我可以获得所需结果的唯一方法是专门将create元素分配给成员变量,然后使用该变量名称.
例如,在基本形式中:
$this->id = $this->createElement('text', 'id', array(...));
Run Code Online (Sandbox Code Playgroud)
然后在子类中:
$this->addElement($this->id);
Run Code Online (Sandbox Code Playgroud)
在我看来,这应该产生一个变量名称冲突.如果createElement没有命名我的元素'id',那么命名它是什么?
编辑
我在父类和子类中都使用init()方法,并且子节点的init()调用父init()作为其第一个任务.
我正在开发一个应用程序,用户可以以类似于Twitter的方式互相关注.
在阅读DDD之后,我了解到我的用户是实体对象 - 我使用他们的唯一ID来引用它们.
当一个用户"跟随"另一个用户(即形成连接)时,该关系存储在多对多表中.它的领域包括FollowerID,TargetID,和Status.每个Follower/Target组合只能有两个记录(一个是Active,另一个是Inactive),所以我可以根据它们的属性安全地识别对象.
所以,我认为我的Connection对象是Value Objects,而不是Entity Objects,但我不确定.你能帮我解决这个问题吗?
我可以覆盖子类中的PHP方法并更改签名中的参数,如下所示.
class theParent {
function myMethod($param1) {
// code here
}
}
class theChild extends theParent {
function myMethod($param1, $param2) {
// code here
}
}
Run Code Online (Sandbox Code Playgroud)
我测试了它,它工作正常,不会引起任何错误.我的问题是,这是不好的形式?还是OOP的基本原则?
如果父方法被声明为abstract,则子签名不能偏离.据推测,如果您需要强制执行界面的这一方面,这是使用的机制?