記入しなければならない機能がありますが、それを行う唯一の方法は混乱です。私が持っている機能は次のとおりです。
public function($keys = array(), $pages = array()){}
基本的に目標は次のとおりです。
- キーが配列で、各キーが設定されていない場合は、何かを行います。
- キーが配列ではなく、設定されていない場合は、何かをしてください。
同じ概念がページにも当てはまります。
これが 4 つの if ステートメントです。次のようにします。
キーが配列でページがそうでない場合、ページが配列でキーがそうでない場合。両方が配列の場合....
私がこれまでに持っているものは次のとおりです。
public function sidebar($keys = array(), $pages = array()){
$builder = AisisCore_Factory_Pattern::create('AisisCore_Template_Builder');
if(is_array($keys)){
foreach($keys as $key){
if(!$builder->get_specific_option($key)){
get_sidebar();
}
}
}else{
if(!$builder->get_specific_option($keys)){
get_sidebar();
}
}
if(is_array($pages)){
foreach($pages as $page){
if(!$page){
get_sidebar();
}
}
}else{
if(!$pages){
get_sidebar();
}
}
}
すぐにめちゃくちゃになることがわかります。get_specific_option
そのキーが存在するかどうかを確認します。配列は次のように行われます:array('key', 'secondKey')
など。ページは次のように行われます: array(is_page(), is_category())
- それぞれが true または false を返すため、ブール値のチェックが行われます。get_sidebar()
たとえば、キーが設定されていない場合、またはページが true に等しくない場合、サイドバーが取得されます。
この関数を作成する方法が災害にならないようにする方法がわかりません。誰かが助けることができますか?