質問
コールバック関数はどのように開発に役立ちますか?特にPHPで。私はPHPとプログラミング自体は初めてですが、jqueryのようなjsライブラリでコールバックの力を見ました。私はphpでコールバックを処理しましたが、それについて多くの質問をしました。
- コールバック関数のスコープは何ですか
- コールバック関数に渡すことができるパラメーター(暗黙的または明示的に)
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()を呼び出すことができますが、これらはコールバックではなく、コールバックを呼び出す関数によって決定されます。コールバックは、渡される引数を制御しません。