PHPを使用して、次のようなHTMLテーブルをレンダリングしています。
--------------------------------------------------
| title | description | actions |
-------------------------------------------------|
| title1 | desc1 | edit / delete |
| title2 | desc2 | edit / delete |
| title3 | desc3 | edit / delete |
| title4 | desc4 | edit / delete |
--------------------------------------------------
コードは次のように機能します(この例では、バージョンを削除しました!いいえthead
などtbody
):
<table>
<?php foreach ( $tableData as $row ): ?>
<tr>
<!-- Render columns (title, description)
<?php foreach ( $columnData as $column ): ?>
<td>
<?= $row[$column['name']]; ?>
</td>
<?php endforeach; ?>
<!-- Render actions -->
<?php foreach ( $actions as $action ): ?>
<td>
<?= include($action); // include the proper action button! ?>
</td>
<? endforeach; ?>
</tr>
<?php endforeach; ?>
</table>
これは私に望ましい結果を与えます。しかし、これには1つだけ問題があります。1000以上のレコードがあると、少し遅くなります。include
これは、すべてのテーブル行に対してを実行しているためです。削除するとinclude
、すべてが非常に高速に実行されます。
このincluded
ファイルには、いくつかのPHPロジックが含まれています。だから私はただすることはできませんfile_get_contents
。ええと、できましたがeval()
、コンテンツを解析するために使用する必要があります。しかし、私はむしろその関数をまったく使用したくありません。
だから今、私は含まれているファイルをどうにかしてキャッシュすることが可能かどうか疑問に思っていますか?PHPが実際のファイルを何度も何度も積極的に含める必要がなく、キャッシュから取得するようにするには?このようなことは可能ですか?
または、より良い選択肢はありますか?