當存在成員資格系統時,我們只會爲用戶顯示一些內容。例如,註冊和登錄按鈕適用於尚未登錄的非成員或用戶。 Sametime,註銷按鈕僅適用於已登錄的用戶。避免在模板中使用過多的if/else語句
我使用之前創建的mvc系統。您創建什麼類型的方法或類來避免使用if/else語句?
當存在成員資格系統時,我們只會爲用戶顯示一些內容。例如,註冊和登錄按鈕適用於尚未登錄的非成員或用戶。 Sametime,註銷按鈕僅適用於已登錄的用戶。避免在模板中使用過多的if/else語句
我使用之前創建的mvc系統。您創建什麼類型的方法或類來避免使用if/else語句?
如果您使用太多if/else
語句,您可能沒有使用模板繼承。
基本上你有一個主模板:
master.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
@section('main')
@endsection()
</body>
</html>
其他模板繼承這個模板
user.html:
@extends('master')
@section('main')
<button>Connect</button>
@endsection
visitor.html
@extends('master')
@section('main')
<button>Subscribe</button>
@endsection
大多數模板系統提供了一種模板繼承,像Twig templating language。
這個建議也適用於你的代碼的其他部分,例如,如果你使用太多if或switch case,你可能會創建繼承你當前類的類。
用於代碼樣本語法由Laravel's Blade templating language
啓發您可以維護一個會話,並檢查它每一次,甚至刷新頁面後。
即在登錄或註冊後創建一個數組並將其存儲在會話中,然後檢查該會話是否爲空。如果該會話不爲空,則表示用戶已登錄並在用戶單擊註銷按鈕後清除該會話。
有了這個邏輯,你可以處理所有的操作。
你能舉一個你現在擁有的例子嗎?一般情況下'if' /'else'沒有任何問題。 – Brad