Ben artık oldukça uzun bir süre için bir PHP geliştiricisi olmuştur ediyorum ama bugüne kadar ben (aka, normalleştirmek sterilize, doğrulamak, doldurmak ve ekran formları ve onun ilgili alan hataları) işlemek için basit bir yol buldum değil.
Ben PHP çerçevelerin çoğu günümüzde bu işi kolaylaştırmak olduğunu biliyorum ama nedense ben bu çerçevelerin biri benim tüm kodu taşıma gibi hissetmiyorum, ve ben oldukça (form doğrulama örneği için Django nasıl uygulanır anlayamıyorum ben Biliyorum, bu Python ama ben gerçekten onların yaklaşımı gibi), bu yüzden en iyi yolu bana burada ben basit bir formu işlemek şekilde göndermek ve istiyorum ben ama belki siz iyi yönde beni işaret edebilir.
<?php
// sample controller
class _sample extends framework
{
// sample action
function contact()
{
if ($this->Is->Post() === true)
{
$errors = array();
if ($this->Is->Set($_POST['name']) === false)
{
$errors['name'] = 'Please fill in your name.';
}
if (($this->Is->Email($_POST['email']) === false) || ($this->Is->Set($_POST['email']) === false))
{
$errors['email'] = 'Please fill in your email address.';
}
if (($this->Is->Phone($_POST['contact']) === false) && ($this->Is->Mobile($_POST['contact']) === false))
{
$errors['contact'] = 'Please fill in your phone (or cell phone) number.';
}
if ($this->Is->Set($_POST['message']) === false)
{
$errors['message'] = 'Please type a message';
}
// no errors, it's valid!
if (empty($errors) === true)
{
// do stuff and redirect to "success" / "thank you" page
}
// load the form view, and let it display the errors
// automatically prefill fields with $_POST values
else
{
$this->View('contact_form', $errors);
}
}
// load the form view for the first time
else
{
$this->View('contact_form');
}
}
}
?>
Gördüğünüz gibi, bu ancak bunu doğrulamak için beni dışarı yaşam sürer, basit bir iletişim formu olması gerekiyordu, ben bazı tasarım desenleri (Observer, Fabrika) bakarak olmuştur ama emin hissediyorum yoksa ve ne şekilde Ben bunları uygulamak gerekir.