官术网_书友最值得收藏!

How Data Is Stored in TYPO3

TYPO3 uses a database (typically MySQL) and the file system to store data. The file system keeps configuration files, some cache files, images, and uploaded files. The database stores pages, content elements, and lots of system data (such as TypoScript templates, logs, and so on).

All (to be precise most, but for our purpose, all) tables in TYPO3 roughly follow the same structure. They have a set of predefined (reserved) fields. TYPO3 will not work properly if one or more of the required fields is missing. Examples of predefined fields are uid (unique identifier of the record), pid (id of the page where this record is located), crdate (record creation time), tstamp (last update time), cruser_id (uid of the Backend user, who created this record). A table may also contain other reserved fields. If it does, TYPO3 will automatically provide additional functionality for the table. The best examples of such fields are deleted (indicates whether a record is deleted), starttime (indicates when a record becomes visible in the FE), endtime (indicates when a record stops being visible), and hidden (indicates whether a record is hidden). There are other fields, which will be discussed later. All these fields are managed by the system, and extensions usually do not change them.

TYPO3 comes with several default tables. These main tables are:

  • pages and pages_language_overlay

    The pages table stores page data (uid, title, and so on), while the pages_language_overlay table stores translations of the page data.

  • tt_content

    This table stores information about content elements. This is usually one of the largest tables in the system.

  • be_*

    This table stores information related to BE users.

  • cache_*

    This table stores cache data.

  • fe_*

    This table stores information related to FE users.

  • sys_*

    This tables stores various system data.

  • tx_*

    This table stores tables from extensions.

If an extension provides a new table, it must ensure that the table name has a certain format. The table name must start with tx_, followed first by the extension key without underscores and next by an underscore, and the table name. For example, an extension with the extension key my_ext can have the following valid table names:

  • tx_myext_data
  • tx_myext_elements

The following table names are not valid:

  • data
  • myext_data
  • my_ext_data
  • data_my_ext
  • tx_my_ext_data

We will discuss tables in more detail when we generate extensions later in this book. At the moment, it is important to remember two things:

  • There are certain naming conventions for tables.
  • Each table must have a certain set of fields.
主站蜘蛛池模板: 惠州市| 吴桥县| 江城| 丹巴县| 贡山| 霍林郭勒市| 报价| 疏附县| 洪洞县| 清原| 进贤县| 九龙坡区| 百色市| 吉隆县| 保山市| 和平县| 利川市| 哈尔滨市| 安泽县| 淮安市| 固阳县| 中超| 沈丘县| 东港市| 田林县| 城市| 阜阳市| 师宗县| 海安县| 盐津县| 磴口县| 五台县| 会理县| 娱乐| 彰化市| 晋中市| 怀集县| 丁青县| 晴隆县| 惠州市| 韶关市|