2015-10-06 18 views
0

我是一個新應用程序的原型設計行爲,並且想要編寫一些基於某些變量日期檢查訪問的函數。最好的模式來編寫一個PHP函數,檢查訪問和返回更多然後布爾?

我只想寫爲單獨的功能,如「canUserSeeThis()」和「canUserSeeThat()」

在情況下,這些返回一個假的,我想顯示的消息,但我想該消息在這些函數中定義,但渲染參與函數的外部。

什麼是最好的「模式」來快速構建這樣的功能?我應該讓消息的返回值?我應該處理拋出異常嗎?

我只是原型設計,所以我不想最終定義完整的API系統。

+1

這可能是*程序員的一個問題*,並很可能已經有解答了:我同意@hoijui http://programmers.stackexchange.com – hoijui

+0

。你也可以考慮使用像Zend或Symfony這樣的框架。 – user2182349

回答

0

我認爲僅僅通過引用傳遞就是你需要:

<?php 
    function canUserSeeThis(&$whyCanNotMessage) 
    { 
    $whyCanNotMessage = 'Because you are not administrator'; 
    return false; 
    } 

    $meesage; 
    if (!canUserSeeThis($meesage)) 
    print($message); 
?> 

如果您需要收集一些信息,你可以通過引用傳遞一個數組,每個canUserSeeXXX()方法將一個字符串添加到陣列。稍後,您將所有數組項目打印到用戶。

<?php 
    function canUserSeeThis(&$whyCanNotMessageList) 
    { 
    array_push($whyCanNotMessageList, 'Because you are not administrator'); 
    return false; 
    } 

    function canUserSeeThat(&$whyCanNotMessageList) 
    { 
    array_push($whyCanNotMessageList, 'Because you are not advanced user'); 
    return false; 
    } 

    $meesageList = array(); 
    $shouldShowMessage = !canUserSeeThis($meesageList)||!canUserSeeThat($meesageList); 

    if ($shouldShowMessage) 
    echo '<pre>'; print_r($meesageList); echo '</pre>'; 
?> 
相關問題