Heim  >  Artikel  >  PHP-Framework  >  Sehr nützliche optionale Hilfsfunktionen von Laravel!

Sehr nützliche optionale Hilfsfunktionen von Laravel!

藏色散人
藏色散人nach vorne
2021-07-13 14:42:522118Durchsuche

In der neuen Version von Laravel gibt es eine sehr nützliche Hilfsmethode: optional()optional()

这个方法的应用场景是什么呢?其实如果你多写代码的话,经常会遇到类似下面的报错信息:

Call to a member function on null object...

这其实是在我们的代码中存在着某个对象为空,所以在我们调用方法或者获取属性的时候就会报出以上错误信息。比如我们举个例子:

User 的体系中,我们也有 Profile 的 Model 文件,而一个 User 拥有一个 ProfileProfile 中包含用户的地址信息)

public function profile(){
   return $this->hasOne(Profile::class);
}

然后在我们 User 的信息页面,我们希望通过下面的代码获取 User 的地址:

$user->profile->address;

如果在数据库中,我们没有该 User 对应的 Profile,这个时候就会出现文章开始说到的类似错误了。

所以,这个时候,optional() 就可以派上用场了

我们只需要这样获取用户的地址信息就好:

optional$user->profile)->address

这个时候,即使 profile 为空值(null),这一行代码也不会报错,而是会显示一个空的字符串出来。
是不是非常有用!有了 optional() 这个辅助函数之后,在很多类似的代码中,在你不确定是否该对象会为 null 的时候,就可以加上 optional()

Was sind die Anwendungsszenarien dieser Methode? Wenn Sie mehr Code schreiben, wird tatsächlich häufig eine Fehlermeldung ähnlich der folgenden angezeigt:
rrreee
Dies liegt tatsächlich daran, dass ein bestimmtes Objekt in unserem Code leer ist, sodass es gemeldet wird, wenn wir eine Methode aufrufen oder eine erhalten Attribut. Die obige Fehlermeldung wird angezeigt. Nehmen wir zum Beispiel ein Beispiel: Dann hoffen wir auf unserer Benutzer-Informationsseite, Benutzeradresse:
rrreee🎜Wenn wir nicht das Profil haben, das dem Benutzer in der Datenbank entspricht, dann etwas Ähnliches wie Was am Anfang des Artikels erwähnt wurde, wird falsch erscheinen. 🎜🎜🎜Zu diesem Zeitpunkt kann optional() also nützlich sein🎜🎜🎜Wir müssen nur die Adressinformationen des Benutzers wie folgt abrufen: 🎜rrreee🎜Zu diesem Zeitpunkt, auch wenn Profil ist ein Nullwert (null). Diese Codezeile meldet keinen Fehler, sondern zeigt eine leere Zeichenfolge an.
Ist es nicht sehr nützlich? Mit der Hilfsfunktion optional() können Sie in vielen ähnlichen Codes optional() hinzufügen, wenn Sie nicht sicher sind, ob das Objekt <code>null sein wird. code> ist hier, um für Versicherungen zu sorgen! 🎜🎜🎜🎜🎜Verwandte Empfehlungen: 🎜Die neuesten fünf Laravel-Video-Tutorials🎜🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSehr nützliche optionale Hilfsfunktionen von Laravel!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen