php 8.4 ubuntu

Installer PHP 8.4 sur le serveur

PHP 8.4 est tout beau, tout chaud: la nouvelle version est sortie le 21 novembre, comme prévue. Pas mal de nouveautés ont été intégrées. Si vous lisez ces lignes, sachez que le site tourne déjà dessus.

Faisons un petit tour d’horizon de PHP 8.4 avec ses changements, améliorations et nouveautés, avant de l’installer sur notre serveur Ubuntu.

Les nouveautés de PHP 8.4

PHP 8.4 ravira les utilisateurs avec de nombreuses fonctionnalités et améliorations impactantes. Par exemple, ils peuvent utiliser intelligemment de nouvelles fonctions de tableau, telles que :

  • array_find()
  • array_find_key()
  • array_any()
  • array_all()

De plus, il y a d’autres fonctionnalités incroyables de PHP 8.4 qui attireront l’attention des utilisateurs dès le départ, notamment :

  • Hooks de propriétés
  • Visibilité asymétrique
  • MyClass()->method() sans parenthèses
  • Changements JIT
  • Support HTML5
  • Autres fonctionnalités de PHP 8.4 à surveiller

Hooks de propriétés

Les propriétés dans les objets PHP ont offert divers avantages comme l’implémentation des validations de valeurs. Pour cette raison, les types de propriétés à partir de PHP 7 ont grandement aidé à cela.

Néanmoins, le fait que la validation doive, par nécessité, se faire via une méthode a conduit à beaucoup de code répétitif sous forme de getters et setters ou à l’abus des méthodes magiques __get et __set.

En réalité, les propriétés en lecture seule dans PHP 8 résolvent de nombreux problèmes pour les développeurs. Ils peuvent protéger les valeurs via le constructeur et offrir toujours des propriétés entièrement typées pour un accès direct.

Les Hooks de propriétés offrent également une fonctionnalité robuste pour travailler avec les propriétés de classe PHP. Les propriétés peuvent optionnellement expliquer un ou plusieurs hooks, actuellement limités à “get” et “set”, vous permettant d’intervenir dans le cycle de vie de la propriété. Voici un exemple tiré du RFC :

class User implements Named
{
    private bool $isModified = false;
    public function __construct(private string $first, private string $last) {}
    public string $fullName {
        // Override the "read" action with arbitrary logic.
        get => $this->first . " " . $this->last;
        // Override the "write" action with arbitrary logic.
        set {
            [$this->first, $this->last] = explode(' ', $value, 2);
            $this->isModified = true;
        }
    }
}Code language: PHP (php)

Visibilité asymétrique

La visibilité asymétrique est une fonctionnalité innovante qui aide les développeurs à expliquer une visibilité différente pour diverses opérations sur une propriété. Cela leur permet de contrôler intelligemment la visibilité des membres de classe, tels que les propriétés et les méthodes.

Par exemple, vous pouvez indiquer que vous souhaitez autoriser un accès public en lecture à une propriété, mais ne permettre les modifications qu’en interne :

public private(set) string $bar = 'baz';Code language: PHP (php)

La visibilité asymétrique fonctionne en parallèle avec les changements présentés avec les hooks de propriétés, y compris la possibilité de décrire la visibilité dans les interfaces.

MyClass()->method() sans parenthèses

Une pratique courante en PHP est d’instancier une classe et d’accéder immédiatement à une méthode ou une propriété. Voici un exemple ci-dessous :

$request = (new Request())->withMethod('GET')->withUri('/hello-world');Code language: PHP (php)

Nous devions entourer la classe de parenthèses lors de son instanciation, ce qui était une exigence du moteur PHP. Avec PHP 8.4, les utilisateurs peuvent omettre ces parenthèses, offrant une utilisation plus conviviale :

$request = new Request()->withMethod('GET')->withUri('/hello-world');Code language: PHP (php)

Changements JIT

PHP 8.4 a modifié la façon dont le JIT est activé. Auparavant, les utilisateurs devaient définir opcache.jit_buffer_size à 0 pour désactiver le JIT. Cependant, vous pouvez maintenant le désactiver comme décrit ci-dessous :

opcache.jit=disable
opcache.jit_buffer_size=64m

Ce changement affectera les utilisateurs s’ils avaient spécifié un opcache.jit_buffer_size mais n’avaient pas spécifié opcache.jit. Dans cette situation, les utilisateurs devront incorporer opcache.jit=tracing pour activer à nouveau le JIT. De plus, les utilisateurs constateront des améliorations du JIT, le rendant plus fluide et rapide.

Support HTML5

PHP 8.4 inclut une classe \Dom\HTMLDocument qui peut analyser efficacement le code HTML. L’ancienne classe \DOMDocument est toujours accessible pour la rétrocompatibilité.

$doc = \Dom\HTMLDocument::createFromString($contents);Code language: PHP (php)

Pour les développeurs qui analysent ou construisent du HTML en utilisant l’extension DOM, cette version fournira diverses fonctionnalités innovantes et orientées résultats, ainsi qu’un support robuste pour HTML5.

Lire la suite

expressions anglaises pour mieux communiquer

Expressions anglaises clés pour mieux communiquer

Introduction

Dans le cadre de l’apprentissage de l’anglais, il est essentiel de maîtriser un certain nombre d’expressions courantes pour communiquer efficacement. Que ce soit pour exprimer une opinion, poser une question ou relier des idées, ces formules peuvent grandement faciliter les échanges, tant à l’oral qu’à l’écrit.

Cet article vous propose une sélection d’expressions utiles qui vous aideront à naviguer dans diverses situations de communication. Que vous soyez étudiant, professionnel ou simplement désireux d’améliorer votre anglais, ces outils linguistiques vous permettront de vous exprimer avec plus de clarté et de confiance. Explorons ensemble ces expressions essentielles !

1. Interagir à l’oral et à l’écrit

Giving one’s opinion

  • To my mind / In my opinion…
  • It seems to me that…
  • I feel / believe that…
  • I can’t help thinking that…
  • My feeling is that…
  • As a matter of fact, I am convinced that…
  • For my part, I consider that…

Expressing agreement

  • l agree with…
  • It is true to say that…
  • So do I / Neither do I
  • That’s exactly how I see it
  • I perfectly understand that…
  • You / They are right to suggest that…
  • I share your point of view…
  • I see eye to eye with you…

Expressing disagreement

  • I don’t agree / I disagree with you about that…
  • Contrary to / Unlike…, I feel that…
  • That’s not how I see it.
  • Instead of V-ING…
  • I don’t see things that way.

Expressing doubts, protest

  • However, I am not really sure that…
  • I am rather sceptical about…
  • In theory, it sounds… but in practice…
  • I object to / disapprove of GN / V-ING
  • How can they…? / What right have they to…?

Suggesting and convincing

  • How / What about V-ING
  • Why don’t you / Why not + V
  • Don’t you think that…?
  • I suggest V-ING / I suggest we (should) V
  • We should definitely V…
  • I’m convinced that…
  • It seems to me that…
  • I’m sure you will / won’t V…

Expressing surprise

  • I can’t / couldn’t believe it / my eyes!
  • You can’t imagine what I saw! How surprised I was!
  • It was truly amazing!
  • How fantastic it was!
  • How astonishing to see such…!
  • I was amazed by / stunned by / astounded by…
  • It was just unbelievable!
  • Just imagine!
  • Fancy that!
  • What a sight! / How strange!…
  • What I find the most incredible / unpleasant / shocking is that…

Expressing enthusiasm

  • It must be great / terrific…
  • How interesting / fantastic!
  • I’d just love to…
  • I was so impressed by…
  • I can’t wait to see that!

Expressing likes and dislikes

  • I’m fond of / keen on GN/V-ING
  • I fancy GN/V-ING
  • I enjoy V-ING
  • I love GN/V-ING
  • I’m mad / crazy about…! (informel)
  • I hate GN/V-ING
  • I can’t stand / bear GN/V-ING
  • I can’t put up with GN/V-ING
  • I don’t go for it. (informel)

Expressing preferences

  • I prefer V-ing to V-ING
  • I’d rather V than V
  • I’d rather you V (prétérit modal)
  • I feel more like V-ING than V-ING
  • Instead of GN/V-ING (Au lieu de)
  • I like it better/best

Being indifferent

  • I don’t mind (him/her) V-ING…
  • As you like / wish.
  • It doesn’t matter. / Never mind.
  • Why not?
  • It doesn’t matter to me whether… or…
  • I don’t care.

Expressing wishes and intentions

  • I would like to V
  • I’d love to V
  • I feel like GN/V-ING
  • I hope to V
  • I wish you’d V
  • If only I / you V (prétérit modal)
  • I would appreciate it if…
  • I am looking forward to V-ING
  • I dream of GN/V-ING
  • I’m dying for GN/ to V
  • I want to V
  • I’m thinking of V-ING
  • I’m about to V
  • I plan / mean / intend/ aim to V
  • Whether you like it or not, I’ll V
  • I’m determined (not) to V

Expressing regret and reproach

  • I regret V-ING
  • I should (not) have V-EN
  • If only / I wish I had (not) V-EN
  • You shouldn’t have V-EN
  • Why didn’t you V?
  • How could you V?
  • What a shame!
  • How awful (of you)!
  • Why on earth did / didn’t you V?

Giving orders

  • I want you to V
  • You have / have got to V
  • You must V
  • Will you V!
  • Stop shouting! / Do be quiet.
  • Don’t V
  • Stop V-ING
  • I’ll have / make GN/V

Lire la suite

Une mystérieuse silhouette portant un masque de Guy Fawkes et une cape sombre se tient devant un arrière plan menaçant et enflammé. L'emblématique tour de l'horloge, Big Ben, est partiellement masquée par les flammes et la fumée, créant une scène dramatique rappelant le 5 novembre et la Conspiration des Poudres, évoquant la rébellion et l'anonymat.

Guy Fawkes et le 5 novembre : de la Conspiration des Poudres à l’icône de la résistance moderne

Introduction

Le 5 novembre est une date profondément ancrée dans l’histoire et la culture britanniques, dont la signification a évolué au fil des siècles pour acquérir une portée internationale. Cette journée commémore la Conspiration des Poudres de 1605, un complot visant à faire exploser le Parlement britannique, et est devenue un symbole de résistance contre l’oppression gouvernementale.

Cet article explore les origines historiques du 5 novembre, son évolution culturelle, et son impact contemporain à travers la littérature, le cinéma et les mouvements sociaux.

Guy Fawkes et la Conspiration des Poudres

Contexte historique

La Conspiration des Poudres s’inscrit dans le contexte des tensions religieuses en Angleterre au début du XVIIe siècle. Après des décennies de persécution sous le règne d’Elizabeth I, les catholiques anglais espéraient une amélioration de leur situation avec l’accession au trône de Jacques Ier en 1603. Cependant, leurs espoirs furent déçus lorsque le nouveau roi maintint les lois anti-catholiques.

Le complot

Un groupe de catholiques, mené par Robert Catesby, élabora un plan pour faire exploser la Chambre des Lords lors de l’ouverture du Parlement le 5 novembre 1605. Leur objectif était d’assassiner le roi Jacques Ier et de provoquer un soulèvement catholique.

Guy Fawkes et son rôle

Guy Fawkes, un ancien soldat devenu mercenaire, fut recruté pour son expertise en explosifs. Il fut chargé de surveiller les 36 barils de poudre à canon cachés dans une cave sous la Chambre des Lords.

Découverte et conséquences

Le complot fut découvert grâce à une lettre anonyme adressée à Lord Monteagle, l’avertissant de ne pas assister à l’ouverture du Parlement. Les autorités fouillèrent les caves le 4 novembre et trouvèrent Guy Fawkes avec les explosifs. Il fut arrêté, torturé et exécuté avec ses co-conspirateurs.

Lire la suite