これに関連するphp関数__construct()の質問-> get = $ _GET
-
06-07-2019 - |
質問
私は誰かのコードに取り組んでおり、次のものを使用するコンストラクタを持っています:
class qwerty {
public function __construct(){
// some other code
$this->get = 私は誰かのコードに取り組んでおり、次のものを使用するコンストラクタを持っています:
$qwerty = new qwerty;
qwerty->get['id'];
私の質問はこれです:コンストラクター内でデータをサニタイズすることは可能ですか?
strip_tags()のような単純な関数を使用しても?
使用例:
<*>GET;
}
}
私の質問はこれです:コンストラクター内でデータをサニタイズすることは可能ですか? strip_tags()のような単純な関数を使用しても?
使用例:
<*>解決
2つのアプローチがあります。 1つは、コンストラクターでforeachループを使用して$ _GETパラメーターをループすることです
foreach( 2つのアプローチがあります。 1つは、コンストラクターでforeachループを使用して$ _GETパラメーターをループすることです
function getParams($key)
{
return sanitize( 2つのアプローチがあります。 1つは、コンストラクターでforeachループを使用して$ _GETパラメーターをループすることです
foreach( 2つのアプローチがあります。 1つは、コンストラクターでforeachループを使用して$ _GETパラメーターをループすることです
<*>
または、get関数を使用してデータを取得し、そこでサニタイズします。
<*>GET AS $key => $val)
{
2つのアプローチがあります。 1つは、コンストラクターでforeachループを使用して$ _GETパラメーターをループすることです
<*>
または、get関数を使用してデータを取得し、そこでサニタイズします。
<*>GET[$key] = sanitize($val);
}
または、get関数を使用してデータを取得し、そこでサニタイズします。
<*>GET[$key]);
}
または、get関数を使用してデータを取得し、そこでサニタイズします。
<*>GET AS $key => $val)
{
2つのアプローチがあります。 1つは、コンストラクターでforeachループを使用して$ _GETパラメーターをループすることです
<*>
または、get関数を使用してデータを取得し、そこでサニタイズします。
<*>GET[$key] = sanitize($val);
}
または、get関数を使用してデータを取得し、そこでサニタイズします。
<*>他のヒント
コンストラクタで必要なことはほとんど何でもできます。そうは言っても、そうすべきだという意味ではありません。多くの人は、意味のあるものや例外をスローする可能性のあるものはすべてコンストラクターに入れてはならないと主張します。とにかく、このクラスを使用する場合、次のようなことができます:
class qwerty
{
private $get;
public function __construct($params)
{
$this->get = $this->sanitize($params);
}
public function sanitize($params)
{
$sanitized = $params;
foreach ($sanitized as $key => $value) {
$sanitized[$key] = strip_tags($value);
}
return $sanitized;
}
public function getField($field)
{
if (array_key_exists($field,$this->get)) {
return $this->get[$field];
} else {
return null;
}
}
}
$q = new qwerty(コンストラクタで必要なことはほとんど何でもできます。そうは言っても、そうすべきだという意味ではありません。多くの人は、意味のあるものや例外をスローする可能性のあるものはすべてコンストラクターに入れてはならないと主張します。とにかく、このクラスを使用する場合、次のようなことができます:
<*>GET);
$q->getField('id');