我正在阅读Paul Bigger的http://blog.paulbiggar.com/archive/a-rant-about-php-compilers-in-general-and-hiphop-in-particular/,他提到HPHP并不完全支持动态结构.然后他说:"不过,一个天真的方法就是坚持使用switch语句,编译所有有意义的东西." 他是说可以使用switch语句来包含正确的文件而不是动态包含吗?如果是这样,为什么这会起作用,为什么编译器"更容易"编译?一如既往,你的时间!
我一直在阅读Zend_View文档,我不太确定我究竟何时最好使用占位符,部分和仅使用视图属性.这是我的基本理解:
占位符:主要用于聚合内容,即侧边栏部分.
部分:当您希望在没有视图的变量范围的情况下呈现视图脚本时使用.但什么时候这是最佳的?
查看属性:您需要传递给视图脚本的任何其他变量,这些变量不适合上述内容.
假设我有一个名为Expense的类建模费用项.我们有运输,食品和工资支出.假设所有属性都是相同的,因此只有一个Expense类,具有"type"属性.但是,假设我添加了一种新的费用,称为培训,这需要一些关于培训类型,位置和日期的新字段.此外,还有一些特定于此培训费用的新方法.所以在这一点上,我需要继承Expense类,以便我可以拥有一个TrainingExpense类.由于子类现在定义了费用的类型,这是否使得在Expense基类中具有"type"属性变得多余?我现在应该只为每种不同的类型继承Expense基类吗?或者我应该在基类中保留"type"属性并为任何子类留下多余的属性?
我正在尝试为RBAC提出数据库架构,我希望能够创建"部门"和"职位".职位将扩展部门的通用特权.我应该只创建一个"角色"表,同时持有职位和部门吗?或者我应该创建3个表:职位,部门和角色,职位和部门表具有角色表的外键?Thx提前为大家提供帮助!干杯.
根据我的理解,如果你使用像APC,eAccelerator等PHP缓存程序,那么操作码将被存储在内存中,以便在后续请求中更快地执行.我的问题是,为什么它不会总是更好/更快地编译你的脚本,假设你正在使用像phc甚至HPHP这样的编译器(虽然我知道它们有动态结构的问题)?为什么还要存储操作码,因为Zend引擎需要重新读取它们,当你可以编译并跳过这一步时,它使用C函数来执行它?
我只是阅读更新级联,我想知道这是否仅适用于非规范化表,状态和类型字段?似乎规范化将消除对此的需要,但我只是想确认或了解更新级联的其他有用原因.谢谢!
我想将我的默认布局文件命名为layout.phtml之外的其他东西,因为它并没有真正描述它的布局类型.我怎样才能做到这一点?谢谢!
php ×6
database ×3
mysql ×3
apc ×1
caching ×1
compilation ×1
css ×1
doctrine ×1
doctrine-orm ×1
email ×1
html ×1
html-email ×1
inheritance ×1
object ×1
oop ×1
rbac ×1
rdbms ×1
sql ×1