0

このコードは機能し、それを達成するためのより良い方法があるかもしれませんが、私の質問は、

このように通過するための特定の用語はありますか?(無名関数と同様に)、
これは許容できる方法ですか?、

それは基準に反していますか?

<?php
// suppose the only way i can retrieve the content is by using this function 
//like  wordpress equivalent of the_content()
function mycontent()
{
    $Original_content="oldcontent";
    return $Original_content;
}

//instead of ---> echo $Original_content."facebook,twitter code";
//if i define a new function
function social_share($content)
{
    $added_social=$content;
    $added_social.=" +  facebook,twitter code...";
    echo $added_social;
}

//function call
social_share(mycontent());
?>  

前もって感謝します :)

4

2 に答える 2

2

関数を渡していない。ある関数呼び出しの結果を引数として別の関数に直接渡します。「関数を渡す」とは、「親」関数がある時点で「子」関数を呼び出すことを意味します。この場合、social_shareはmycontent()をまったく呼び出しません。これは、social_shareが実行されるずっと前に行われます。

そうは言っても、もしあなたがこのようなものを持っていたら:

function my_echo($arg) {
   print($arg);
}

function social_share($somearg, $func_to_invoke) {
    $$func_to_invoke($somearg);
}

social_share('hello', 'my_echo');

次に、引数として渡すことにより、ある関数を別の関数から呼び出すことになります。my_echoこの場合、.を記述しなくても、小さなカスタム関数によって「hello」が出力されますmy_echo('hello');

于 2012-09-24T04:00:49.223 に答える
2

これには何の問題もありません。これは、実際にはオブジェクト指向のアプローチによく似ています。これらのメソッドを持つクラスを作成し、それらを使用して他のプロパティを他のオブジェクトやクラスなどに渡すことができます。私の意見では、これは良い習慣です。

于 2012-09-24T04:01:41.380 に答える