如果我的类结构的值可以是true或false,那么不会改变,当前实现为变量会更好地将它们更改为常量,例如:
class Parent {
const BOOL_CONST = false;
...
}
class SomeChild extends Parent {
const BOOL_CONST = true;
...
}
Run Code Online (Sandbox Code Playgroud)
后来我有一个对象,可以是该类层次结构中的任何类型,父项或其子项之一,并且某些子项可能像"SomeChild"一样将值重载为true.
有没有办法在不知道课程的情况下访问常量?换句话说,我可以这样做:
$object->BOOL_CONST
Run Code Online (Sandbox Code Playgroud)
或者将这些值保留为变量会更好,即使它们真的不应该改变?
UPDATE
我已经对上面的问题进行了重写,以便更好地表达我试图提出的问题.
我有一个jQuery DataTable,我想添加html tr行.这些行以html字符串的形式出现.我可以使用标准的jQuery将这些添加到表中,但这意味着它们会绕过DataTable对象,并在使用表时丢失.使用DataTable rows.add()函数意味着我需要数组格式的行.
// table_rows actually comes from an ajax call.
var table_rows = '<tr>...</tr><tr>...</tr><tr>...</tr>';
// This successfully adds the rows to the table... :-)
$('#datatable_id').append(table_rows);
// ...but those rows are lost when we redraw the DataTable. :-(
table = $("#datatable_id").DataTable();
table.order([0,'desc']).draw();
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法轻易改变从服务器返回的内容,因此我似乎需要一个客户端解决方案.