diff options
| author | 2023-11-16 22:43:00 +0100 | |
|---|---|---|
| committer | 2023-11-16 22:43:00 +0100 | |
| commit | 30c7a61a9b410f023c56ef19b9389a61647d8768 (patch) | |
| tree | bb58408980ce5b86f1d2b4a9be29d55b2d46dbb1 /cli/i18n | |
| parent | ee99e7e2cc228500efc1b539954c0ca6cd4c146d (diff) | |
Use strict_types (#5830)
* Little's optimisations and booleans in conditions
* Apply strict type
* Apply strict type
* Apply strict type
* Fix multiple bugs with PHP 8.2 and 8.3
* Many declares missing, more errors fixed
* Apply strict type
* Another approach
* Stronger typing for Minz_Session
* Fix case of SQLite
---------
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Diffstat (limited to 'cli/i18n')
| -rw-r--r-- | cli/i18n/I18nCompletionValidator.php | 1 | ||||
| -rw-r--r-- | cli/i18n/I18nData.php | 1 | ||||
| -rw-r--r-- | cli/i18n/I18nFile.php | 11 | ||||
| -rw-r--r-- | cli/i18n/I18nUsageValidator.php | 5 | ||||
| -rw-r--r-- | cli/i18n/I18nValidatorInterface.php | 1 | ||||
| -rw-r--r-- | cli/i18n/I18nValue.php | 7 |
6 files changed, 18 insertions, 8 deletions
diff --git a/cli/i18n/I18nCompletionValidator.php b/cli/i18n/I18nCompletionValidator.php index 6240580c4..4a8e54759 100644 --- a/cli/i18n/I18nCompletionValidator.php +++ b/cli/i18n/I18nCompletionValidator.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); require_once __DIR__ . '/I18nValidatorInterface.php'; diff --git a/cli/i18n/I18nData.php b/cli/i18n/I18nData.php index 957ec2887..6e87e1d7e 100644 --- a/cli/i18n/I18nData.php +++ b/cli/i18n/I18nData.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); class I18nData { diff --git a/cli/i18n/I18nFile.php b/cli/i18n/I18nFile.php index 5a0c74aaa..8932bff57 100644 --- a/cli/i18n/I18nFile.php +++ b/cli/i18n/I18nFile.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); require_once __DIR__ . '/I18nValue.php'; @@ -27,7 +28,7 @@ class I18nFile { } /** - * @param array<string,array<array<string>>> $i18n + * @param array<string,array<string,array<string,I18nValue>>> $i18n */ public function dump(array $i18n): void { foreach ($i18n as $language => $file) { @@ -65,7 +66,7 @@ class I18nFile { } catch (ParseError $ex) { if (defined('STDERR')) { fwrite(STDERR, "Error while processing: $filename\n"); - fwrite(STDERR, $ex); + fwrite(STDERR, $ex->getMessage()); } die(1); } @@ -108,7 +109,7 @@ class I18nFile { * The first key is dropped since it represents the filename and we have * no use of it. * - * @param array<string> $translation + * @param array<string,I18nValue> $translation * @return array<string,array<string,I18nValue>> */ private function unflatten(array $translation): array { @@ -118,7 +119,7 @@ class I18nFile { foreach ($translation as $compoundKey => $value) { $keys = explode('.', $compoundKey); array_shift($keys); - eval("\$a['" . implode("']['", $keys) . "'] = '" . addcslashes($value, "'") . "';"); + eval("\$a['" . implode("']['", $keys) . "'] = '" . addcslashes($value->__toString(), "'") . "';"); } return $a; @@ -131,7 +132,7 @@ class I18nFile { * translation file. The array is first converted to a string then some * formatting regexes are applied to match the original content. * - * @param array<string> $translation + * @param array<string,I18nValue> $translation */ private function format(array $translation): string { $translation = var_export($this->unflatten($translation), true); diff --git a/cli/i18n/I18nUsageValidator.php b/cli/i18n/I18nUsageValidator.php index 49cc266f9..1267cd66d 100644 --- a/cli/i18n/I18nUsageValidator.php +++ b/cli/i18n/I18nUsageValidator.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); require_once __DIR__ . '/I18nValidatorInterface.php'; @@ -6,14 +7,14 @@ class I18nUsageValidator implements I18nValidatorInterface { /** @var array<string> */ private array $code; - /** @var array<string,array<string,string>> */ + /** @var array<string,array<string,I18nValue>> */ private array $reference; private int $totalEntries = 0; private int $failedEntries = 0; private string $result = ''; /** - * @param array<string,array<string,string>> $reference + * @param array<string,array<string,I18nValue>> $reference * @param array<string> $code */ public function __construct(array $reference, array $code) { diff --git a/cli/i18n/I18nValidatorInterface.php b/cli/i18n/I18nValidatorInterface.php index e6f5f7cdd..9266489f6 100644 --- a/cli/i18n/I18nValidatorInterface.php +++ b/cli/i18n/I18nValidatorInterface.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); interface I18nValidatorInterface { diff --git a/cli/i18n/I18nValue.php b/cli/i18n/I18nValue.php index 4a1ddaeee..22317e1ae 100644 --- a/cli/i18n/I18nValue.php +++ b/cli/i18n/I18nValue.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); class I18nValue { private const STATE_DIRTY = 'dirty'; @@ -13,7 +14,11 @@ class I18nValue { private string $value; private ?string $state = null; - public function __construct(string $data) { + /** @param I18nValue|string $data */ + public function __construct($data) { + if ($data instanceof I18nValue) { + $data = $data->__toString(); + } $data = explode(' -> ', $data); $this->value = array_shift($data); |
