質問

コールバック関数はどのように開発に役立ちますか?特にPHPで。私はPHPとプログラミング自体は初めてですが、jqueryのようなjsライブラリでコールバックの力を見ました。私はphpでコールバックを処理しましたが、それについて多くの質問をしました。

  1. コールバック関数のスコープは何ですか
  2. コールバック関数に渡すことができるパラメーター(暗黙的または明示的に)

Kohanaドキュメントのコードは次のとおりです。

$post->add_callbacks('email', array($this, '_unique_email'));

// Define the callback method
/*
 * Callback method that checks for uniqueness of email
 *
 * @param  Validation  $array   Validation object
 * @param  string      $field   name of field being validated
 */
public function _unique_email(Validation $array, $field)
{
   // check the database for existing records
   $email_exists = (bool) ORM::factory('user')->where('email', $array[$field])->count_all();

   if ($email_exists)
   {
       // add error to validation object
       $array->add_error($field, 'email_exists');
   }
}

このコールバックはどのように機能しましたか?パラメータはどこから来たのですか?

役に立ちましたか?

解決

Kohanaはわかりませんが、メールの検証時に_unique_email()を呼び出すことを意味すると思います。

PHPのコールバックは、開発を支援し、コードを拡張する簡単な方法を提供します。例:

$post = new Blog_Post();
$post->contents = 

Kohanaはわかりませんが、メールの検証時に_unique_email()を呼び出すことを意味すると思います。

PHPのコールバックは、開発を支援し、コードを拡張する簡単な方法を提供します。例:

$post = new Blog_Post();
$post->onSave('parseBBCode');
$post->contents = 

Kohanaはわかりませんが、メールの検証時に_unique_email()を呼び出すことを意味すると思います。

PHPのコールバックは、開発を支援し、コードを拡張する簡単な方法を提供します。例:

$post = new Blog_Post();
$post->contents = 

Kohanaはわかりませんが、メールの検証時に_unique_email()を呼び出すことを意味すると思います。

PHPのコールバックは、開発を支援し、コードを拡張する簡単な方法を提供します。例:

<*>

このコードは、新しいブログ投稿を作成し、コンテンツを設定して、データベースに保存します。しかし、コンテンツのBBCodeを処理したいとしましょう。 Blog_Postクラスを編集せずに、どうすればそれを行うことができますか?コールバック付き。

<*>

明らかに、コールバックを実装するさまざまな方法がありますが、JSのコールバックのパワーを知っていて、それらは常にonClick、onLoad、onKeyUpなどであると言いました。

これがお役に立てば幸いです。パラメータに関する質問については、コールバックに与えられた内容によって異なります。私の例では、onSaveでトリガーされる関数には、$ contentsパラメーターのみが与えられます。

blog_postには、呼び出される関数を保存するonSave()関数があり、save()関数が投稿を保存しようとしたときに、onSaveで定義されたコールバックを呼び出します()。十分に明快であることを願っています。

基本的に、コールバックに渡される引数は、コールバックを呼び出す関数によって異なります。 save()関数は、必要な引数を指定してparseBBCode()を呼び出すことができますが、これらはコールバックではなく、コールバックを呼び出す関数によって決定されます。コールバックは、渡される引数を制御しません。

POST['contents']; $post->save();

このコードは、新しいブログ投稿を作成し、コンテンツを設定して、データベースに保存します。しかし、コンテンツのBBCodeを処理したいとしましょう。 Blog_Postクラスを編集せずに、どうすればそれを行うことができますか?コールバック付き。

<*>

明らかに、コールバックを実装するさまざまな方法がありますが、JSのコールバックのパワーを知っていて、それらは常にonClick、onLoad、onKeyUpなどであると言いました。

これがお役に立てば幸いです。パラメータに関する質問については、コールバックに与えられた内容によって異なります。私の例では、onSaveでトリガーされる関数には、$ contentsパラメーターのみが与えられます。

blog_postには、呼び出される関数を保存するonSave()関数があり、save()関数が投稿を保存しようとしたときに、onSaveで定義されたコールバックを呼び出します()。十分に明快であることを願っています。

基本的に、コールバックに渡される引数は、コールバックを呼び出す関数によって異なります。 save()関数は、必要な引数を指定してparseBBCode()を呼び出すことができますが、これらはコールバックではなく、コールバックを呼び出す関数によって決定されます。コールバックは、渡される引数を制御しません。

POST['contents']; $post->save(); # Will call parseBBCode when saving the blog post. function parseBBCode($contents) { # Parse BBCode and return the parsed contents. }

このコードは、新しいブログ投稿を作成し、コンテンツを設定して、データベースに保存します。しかし、コンテンツのBBCodeを処理したいとしましょう。 Blog_Postクラスを編集せずに、どうすればそれを行うことができますか?コールバック付き。

<*>

明らかに、コールバックを実装するさまざまな方法がありますが、JSのコールバックのパワーを知っていて、それらは常にonClick、onLoad、onKeyUpなどであると言いました。

これがお役に立てば幸いです。パラメータに関する質問については、コールバックに与えられた内容によって異なります。私の例では、onSaveでトリガーされる関数には、$ contentsパラメーターのみが与えられます。

blog_postには、呼び出される関数を保存するonSave()関数があり、save()関数が投稿を保存しようとしたときに、onSaveで定義されたコールバックを呼び出します()。十分に明快であることを願っています。

基本的に、コールバックに渡される引数は、コールバックを呼び出す関数によって異なります。 save()関数は、必要な引数を指定してparseBBCode()を呼び出すことができますが、これらはコールバックではなく、コールバックを呼び出す関数によって決定されます。コールバックは、渡される引数を制御しません。

POST['contents']; $post->save();

このコードは、新しいブログ投稿を作成し、コンテンツを設定して、データベースに保存します。しかし、コンテンツのBBCodeを処理したいとしましょう。 Blog_Postクラスを編集せずに、どうすればそれを行うことができますか?コールバック付き。

<*>

明らかに、コールバックを実装するさまざまな方法がありますが、JSのコールバックのパワーを知っていて、それらは常にonClick、onLoad、onKeyUpなどであると言いました。

これがお役に立てば幸いです。パラメータに関する質問については、コールバックに与えられた内容によって異なります。私の例では、onSaveでトリガーされる関数には、$ contentsパラメーターのみが与えられます。

blog_postには、呼び出される関数を保存するonSave()関数があり、save()関数が投稿を保存しようとしたときに、onSaveで定義されたコールバックを呼び出します()。十分に明快であることを願っています。

基本的に、コールバックに渡される引数は、コールバックを呼び出す関数によって異なります。 save()関数は、必要な引数を指定してparseBBCode()を呼び出すことができますが、これらはコールバックではなく、コールバックを呼び出す関数によって決定されます。コールバックは、渡される引数を制御しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top