3 PHP 8.0의 냉각 기능
6263 단어 phpfrenchproductivitywebdev
인수 노메
Vous voyez quant vous voulez utiliser une fonction avec de multiple argument optionnels ?
function exampleFunction(
$param1,
$param2 = "param2",
$param3="param3",
$param4="param4")
{
# some actions
}
Si vous voulez appeler cette fonction en laissant les paramètres par défaut, sauf le dernier, vous deviez jusque-là tous les répéter ;
exampleFunction($param1,"param2","param3","param4-v2");
C'est bien trop long. Mais rassurez-vous, j'ai la solution pour vous. Avec Php 8.0, vous pouvez spécifier quel paramètre vous passé en donnant son nom. Cela permet de se soustraire à la contrainte de l'ordre des paramètres, et d'onc d'éviter de devoir réécrire tous les paramètres 옵션:
exampleFunction($param1,param4:"param4-v2");
Null 안전 연산자
Cette fois, on va parler d'objets. Is vous voulez accéder à la méthode d'un objet, vous devez vérifier que l'objet en question est bien initialisé. Pour cela vous allez surement écrire quelque는 qui ressemble à를 선택했습니다.
if(isset($parent) && $parent!= null)
{
$parent->method();
}
Mais en fait, vous pourriez vous contenter d'écrire :
$parent?->method();
C'est particulièrement utile quand vous voulez accéder à une valeur en enchainant les methodes.
Par exemple, dans un MVC, sivous voulez accéder à un attribut de l'objet retourné par une méthode fetch d'un modèle, dans votre controlr, is suffit d'écrire;
$this?->model??->fetch($id)?->name;
단순화 de l'écriture des classes
Si vous écrivez une classe en PHP, vous devez définir les attributs et leur niveau de secretité. Avant, vous deviez les définir en dehors du constructeur. Ce qui veut dire que vous ne pouviez pas définir et initialiser l'attribut en même temps avec une valeur dépendant des paramètres du constructor.
class Example{
public float $attribute;
public function __construct(
float $attribute,
) {
$this->attribute = $attribute;
}
}
Avec PHP 8.0, vous pouvez définir les attributs de votre class comme étant les paramètres de votre constructor :
class Example{
public function __construct(
public float $attribute,
) {
}
}
Merci de m'avoir lu
Passez une bonne journée.
비수스.
Vous pouvez retrouvez la version anglaise de ce post juste ici :
PHP8.0의 3가지 멋진 기능
음벵가 ・ 3월 31일 ・ 2분 읽기
#php
#webdev
#productivity
Reference
이 문제에 관하여(3 PHP 8.0의 냉각 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jeremymonatte/3-fonctionnalites-cools-de-php-80-5ej텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)