Maison développement back-end Problème PHP PHP peut-il avoir des méthodes statiques privées ?

PHP peut-il avoir des méthodes statiques privées ?

Jun 02, 2021 pm 06:52 PM
php 私有静态方法

php peut utiliser des méthodes statiques privées. Les méthodes privées statiques fournissent un moyen de masquer le code statique de l'extérieur de la classe ; cela peut être utile si plusieurs méthodes différentes (statiques ou non statiques) doivent l'utiliser, c'est-à-dire la réutilisation du code.

PHP peut-il avoir des méthodes statiques privées ?

L'environnement d'exploitation de ce tutoriel : système Windows7, version PHP7.1, ordinateur DELL G3

Je comprends que statique signifie qu'un objet n'a pas besoin de l'être. L'instanciation rend cette propriété/méthode disponible. Je comprends également que cela s'applique aux propriétés et méthodes privées ainsi qu'aux méthodes publiques. Ce que je veux savoir, c'est de quelles fonctions privées statiques peuvent vous bénéficier. Par exemple :

class Beer {
    static private $beertype = "IPA";
    private function getBeerType() {
            return self::$beertype;
    }
    static public function BeerInfo() {
            return self::getBeerType();
    }
}
print Beer::BeerInfo() . "\n";
Copier après la connexion

Tant que getBeerType() est appelée à partir de la méthode publique statique, la méthode privée s'exécutera correctement sans instancier l'objet. Si une méthode publique statique a accès à toutes les méthodes privées (statiques et non statiques), quel est l'avantage de déclarer une méthode static privée ?

Avec le rapport d'erreurs strict activé, je reçois un avertissement indiquant que je dois rendre getBeerType() statique, même si cela me permet toujours d'exécuter le code. J'ai fait quelques recherches et il semble que d'autres langages (Java) vous obligeront à déclarer une méthode privée comme statique lorsqu'une méthode publique statique est appelée. On dirait que PHP vous permet de vous en sortir. Existe-t-il un moyen de le forcer à générer une erreur et à ne pas s'exécuter ?

Les méthodes privées statiques fournissent un moyen de masquer le code statique de l'extérieur de la classe. Cela peut être utile si plusieurs méthodes différentes (statiques ou non statiques) doivent l'utiliser, c'est-à-dire la réutilisation de code.

Les méthodes statiques et les variables statiques (parfois appelées méthodes de classe et variables de classe) sont un moyen de placer du code et des données dans un espace de noms. Vous pouvez également considérer les variables de classe comme des variables attachées à la classe elle-même, dont (par définition) il n'y en a qu'une, par opposition aux instances de la classe, dont il peut y en avoir zéro, une ou plusieurs. Les méthodes de classe et les variables de classe peuvent être utilisées pour travailler avec des propriétés qui non seulement restent les mêmes dans toutes les instances, mais qui sont en réalité les mêmes. Un exemple de variable de classe

est un gestionnaire de base de données dans un objet d'entité ORM. Toutes les instances sont leurs propres objets, mais elles ont toutes besoin d'accéder au même gestionnaire de base de données pour se charger et s'enregistrer.

Le privé contre le public est une qualité totalement distincte, je doute que vous trébuchiez sur quelque chose. Les méthodes privées ne peuvent pas être appelées et les variables privées ne sont pas accessibles à partir de code extérieur à la classe. Les méthodes privées sont généralement utilisées pour implémenter une logique « interne » sur un objet qui n'est pas accessible en dehors de l'objet. Cette restriction peut être obtenue via des méthodes d'instance et des méthodes de classe.

Un exemple de méthode de classe privée pourrait être une méthode d'usine. Il peut y avoir trois appels d'usine pour créer des objets qui peuvent différer en termes d'arguments fournis. Mais la plupart des opérations sont les mêmes. Il entre donc dans la méthode statique privée appelée par la méthode de fabrique non privée.

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

See all articles