Skip to content

Container ​

Mise en page

Engine\Native\Container est l'analogue natif du widget HTML Container.php : une boîte optionnellement colorée, arrondie et bordée, avec padding, enveloppant un enfant unique. Une largeur/hauteur fixe l'emporte toujours sur la taille du contenu (contrainte stricte sur cet axe, comme le Container de Flutter) ; sans taille explicite, la boîte épouse son enfant (padding compris), dans la limite de ce que le parent autorise. Sans enfant ni taille, elle s'étend aux contraintes reçues plutôt que de s'effondrer à zéro.

Exemple ​

php
<?php

use Engine\Native\Container;
use Engine\Native\EdgeInsets;
use Engine\Color;

$card = new Container(
    child: null,
    width: 200.0,
    height: 120.0,
    background: Color::white(),
    radius: 12.0,
    borderColor: Color::gray(200),
    borderWidth: 1.0,
    elevation: 2.0,
    padding: EdgeInsets::all(16.0),
);

Une carte blanche de 200×120px, arrondie à 12px, avec une fine bordure grise et une légère élévation (ombre).

Constructeur ​

ParamètreTypeDéfautDescription
child?WidgetnullEnfant unique, enveloppé en interne dans un Padding.
width?floatnullLargeur fixe ; si fournie, impose une contrainte stricte.
height?floatnullHauteur fixe ; si fournie, impose une contrainte stricte.
background?ColornullCouleur de fond peinte via canvas->rect().
radiusfloat0.0Rayon des coins arrondis.
borderColor?ColornullCouleur de la bordure.
borderWidthfloat0.0Épaisseur de la bordure.
elevationfloat0.0Élévation (ombre portée).
gradientFrom?ColornullCouleur de départ d'un dégradé optionnel.
gradientTo?ColornullCouleur de fin d'un dégradé optionnel.
paddingEdgeInsetsEdgeInsets(0,0,0,0)Marges intérieures appliquées autour de l'enfant.

À savoir. La boîte peinte (fond/bordure) utilise toujours la taille finale et contrainte, jamais la taille « naturelle » calculée à partir du contenu : un parent Flexible peut imposer une allocation stricte au conteneur même sans width/height explicites, et le fond doit alors remplir exactement cette allocation.

Voir aussi ​

PhpNitro est un produit FINANFA TECH — Publié sous licence MIT.