4.3 Models, Repositories and Relations

Descripción

TYPO3 CD 2020 (zweite Auflage) Test sobre 4.3 Models, Repositories and Relations, creado por Pascal Bartl el 09/04/2021.
Pascal Bartl
Test por Pascal Bartl, actualizado hace más de 1 año
Pascal Bartl
Creado por Pascal Bartl hace alrededor de 3 años
4
0

Resumen del Recurso

Pregunta 1

Pregunta
Which of the following statements about domain models in Extbase is correct? (1)
Respuesta
  • Three different basis objects exist: entity, value object and factory
  • Properties of models should be accessed and modified directly
  • A “getter” method should be used to access a property
  • The visibility of domain model properties in Extbase should be public
  • All options listed above are wrong

Pregunta 2

Pregunta
What is required in an Extbase repository to prevent it from returning deleted records? (1)
Respuesta
  • The TypoScript setting setup.tx_extbase.view.hidden = 0 must be set
  • The query setting setIncludeDeleted(false) must be set
  • The parameter true must be passed to the repository method findAll()
  • The parameter true must be passed to the repository method execute()
  • Nothing: the repository does not return deleted records by default

Pregunta 3

Pregunta
What needs to be done in an Extbase repository to include hidden and deleted records in the result set? (1)
Respuesta
  • This is not possible. Deleted records are removed from the database
  • Both query settings setIncludeHidden() and setIncludeDeleted() need to be set to true
  • Both query settings setIgnoreEnableFields() and setEnableFieldsToBeIgnored() need to be set appropriately
  • The TCA configuration ['ctrl']['ignoreEnableFields'] of the table need to be set to true

Pregunta 4

Pregunta
Which type of relation is not possible with TCA’s inline field type (IRRE)? (1)
Respuesta
  • 1:n
  • n:1
  • 1:1
  • m:n
  • IRRE supports all types of relations

Pregunta 5

Pregunta
Which property annotation is required to define a relation of type 1:n in your domain model? (1)
Respuesta
  • /** * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage */
  • /** * @var \Foo\Bar\Domain\Model\Post */
  • /** * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Foo\Bar\Domain\Model\Post> */
  • /** * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage[\Foo\Bar\Domain\Model\Post] */
  • /** * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<1:n><\Foo\Bar\Domain\Model\Post> */

Pregunta 6

Pregunta
Which repository method tests whether the value of a domain model property, which has a m:n relation, contains a specific value? (1)
Respuesta
  • in()
  • between()
  • contains()
  • is()
  • inbetween()

Pregunta 7

Pregunta
Which repository method tests whether the value of a domain model property is included in a list of possible values? (1)
Respuesta
  • in()
  • between()
  • contains()
  • is()
  • inbetween()

Pregunta 8

Pregunta
What needs to be configured to instruct all methods of a repository to return results ordered by a specific property? (1)
Respuesta
  • This can be achieved in a TypoScript file.
  • By passing the parameter $order in the method’s signature
  • By adding the @sort annotation to the domain model
  • By setting the $defaultOrderings property in the repository class
  • By adding an appropriate sortby property to the TCA

Pregunta 9

Pregunta
Which statements about the following code snippet are correct? (2) <?php namespace Vendor\MyExtension\Domain\Repository; use \TYPO3\CMS\Extbase\Persistence\Repository; use \TYPO3\CMS\Extbase\Persistence\QueryInterface; class ExampleRepository extends Repository { protected $defaultOrderings = [ 'title' => QueryInterface::ORDER_DESCENDING ]; ... }
Respuesta
  • Records read from this repository are sorted by their title field in descending order by default
  • The additional configuration sortBy is required in the TCA of the repository to set the default sort order
  • The property $defaultOrderings has no effect by default
  • The constant ORDER_ASCENDING can be used instead of ORDER_DESCENDING to sort in ascending order
  • If the property $defaultOrderings would not exist, the repository would use the sorting defined in the TCA

Pregunta 10

Pregunta
Assuming two domain objects Book and Chapters exist, which have a 1:n-relation. How can you determine all chapters of a book which match a search string? (1)
Respuesta
  • By searching in the Book repository and by using in() on the property chapters
  • By searching in the Book repository and by using contains() on the property chapters
  • By searching in the Chapters repository and by using in() on the property books
  • By searching in the Chapters repository and by using contains() on the property books
  • By searching in the Chapters repository and iterating all records to find the appropriate chapters

Pregunta 11

Pregunta
What needs to be configured to access records from the repository stored on page UID = 0? (1)
Respuesta
  • Nothing needs to be configured as this is the default
  • The query setting in the repository must be set explicitly: setStoragePageIds([0])
  • This feature needs to be enabled in the repository explicitly: setEnableRootPage(true)
  • When the query is executed, the page UID must be passed as an argument in the function call: execute(0)
  • Records on page UID = 0 can not be accessed as a general rule

Pregunta 12

Pregunta
What needs to be configured to access all records, regardless of which page they are stored on? (1)
Respuesta
  • Nothing needs to be configured as this is the default
  • The TypoScript configuration persistence.storagePid needs to be set to all
  • The page restriction needs to be lifted by using the Restriction Builder
  • The query setting in the repository must be set explicitly: setRespectStoragePage(false)

Pregunta 13

Pregunta
How can a custom extension access the fe_users database table? (2)
Respuesta
  • By extending the domain model TYPO3\CMS\Extbase\Domain\Model\FrontendUser
  • By adding the mapping as TypoScript
  • By adding the mapping as TSconfig
  • By extending the fe_users TCA appropriately
  • The only option is to frequently copy the content of table fe_users into a custom table via a cron-job

Pregunta 14

Pregunta
Which statement about the Persistence Manager is correct? (1)
Respuesta
  • The Persistence Manager is loaded in the controller automatically and can be used in custom scripts
  • The Persistence Manager is loaded in the repository automatically and can be used in custom scripts
  • By using the Persistence Manager, a single object or all objects can be made persistent
  • The Persistence Manager is an internal method of Extbase which is not part of the public API
  • The Persistence Manager is of type “prototype”

Pregunta 15

Pregunta
How can you access TypoScript settings within a domain model? (1)
Respuesta
  • Via $this->setting
  • Via $this->settings
  • Via $this->typoscript
  • Via $this->config
  • None of the options above

Pregunta 16

Pregunta
What is the recommended way to access TypoScript settings in a repository? (1)
Respuesta
  • It’s recommended to access TypoScript configuration from the controller only
  • It’s recommended to access TypoScript configuration by using the Object Manager
  • It’s recommended to access TypoScript configuration by using the Settings Manager
  • TypoScript settings can be accessed by using $this->settings directly
  • TypoScript settings can be accessed by using $settings directly

Pregunta 17

Pregunta
Which statments about the following TypoScript code are correct? (2) plugin.tx_myextension { persistence { classes { Vendor\MyExtension\Domain\Model\Client { mapping { tableName = fe_users columns { first_name.mapOnProperty = name } } } } } }
Respuesta
  • The code has no effect: a fully qualified class name must be used as a tableName value
  • The property name of the model Client maps to the field first_name of the database table fe_users
  • The code has no effect: table and attribute names have to be written in UpperCamelCase
  • Only one property can be mapped between two tables
  • All properties are mapped by default if their name scheme matches

Pregunta 18

Pregunta
A domain model has a relation parent to itself. Is it possible to access the relation via the Query Manager? (1)
Respuesta
  • Yes, this is possible without any configuration
  • Yes, if the relation has the annotation @selfreference
  • Yes, if the TypoScript key features.selfreference = 1 is set
  • This is not possible – no error message is generated
  • This is not possible – an error message is generated

Pregunta 19

Pregunta
How can we make a TypoScript object available in a controller? (1)
Respuesta
  • Via $this->configurationManager->getContentObject()->data
  • Via $this->cObj
  • By utilising the “ContentObjectRenderer”
  • By utilising the “ContentObjectModel”
  • This is not possible in a controller

Pregunta 20

Pregunta
Is it possible to use stdWrap in Extbase TypoScript settings as shown below? (1) plugin.tx_myextension_example { settings { uid.dataWrap = {page:uid} } }
Respuesta
  • Yes, this is supported out-of-the-box
  • Yes, but this needs to be activated in the Extbase configuration
  • Yes, you have to use PHP code to process stdWrap functions
  • Yes, but extbaseWrap must be used instead of dataWrap
  • No, this is not supported and not possible at all

Pregunta 21

Pregunta
What are “Switchable Controller Actions”? (2)
Respuesta
  • An option to limit which controller-action-combinations are executable
  • An option to switch between actions at run time
  • An option to control the sort order of actions shown in the backend
  • A configuration option to switch between backend users
  • An option to switch between controllers, based on actions
Mostrar resumen completo Ocultar resumen completo

Similar

Inglés - Verbos Compuestos I (Phrasal Verbs)
maya velasquez
TEST ESTRUCTURA ATÓMICA
VICTOR MANUEL VITORIA RUIZ
Gramática para practicar el First Certificate I
Diego Santos
La prehistoria
Remei Gomez Gracia
5 Pasos para el Éxito en el Aprendizaje
maya velasquez
TEJIDO EPITELIAL
Juan José Fierro
Test General sobre Historia del Arte Universal
maya velasquez
Sistema Nervioso Autónomo
Ahtziri Sequeira
Sonido vs Ruido
mariajesus camino
LA PRIMERA REVOLUCIÓN INDUSTRIAL
ROSA MARIA ARRIAGA
ORTOGRAFÍA: B/V, H, G/J, LL/Y, C-Z/S...
Ulises Yo