CakePHP - Form İşleme
CakePHP, HTML formlarını kolay ve güvenli bir şekilde işlemek için çeşitli yerleşik etiketler sağlar. Diğer birçok PHP çerçevesi gibi, HTML'nin ana öğeleri de CakePHP kullanılarak oluşturulur. Aşağıda, HTML öğeleri oluşturmak için kullanılan çeşitli işlevler verilmiştir.
Aşağıdaki işlevler, generate select options -
Sözdizimi | _selectOptions (array $ elementsarray () , array $ parentarray () , boolean $ showParentsnull , array $ attributesarray () ) |
---|---|
Parametreler |
|
İadeler | dizi |
Açıklama | Biçimlendirilmiş OPTION / OPTGROUP öğeleri dizisi döndürür |
Aşağıdaki işlevler kullanılır to generate HTML select element.
Sözdizimi | select (string $ fieldName, array $ options array (), array $ attributes array ()) |
---|---|
Parametreler | SELECT öğesinin ad özelliği SELECT öğesinde kullanılacak OPTION öğelerinin dizisi ('değer' => 'Metin' çiftleri olarak). |
İadeler | Biçimlendirilmiş SELECT öğesi. |
Açıklama | Biçimlendirilmiş bir SELECT öğesi döndürür. |
Aşağıdaki işlevler kullanılır to generate button HTML sayfasında.
Sözdizimi | Düğme (string $ başlık, dizi $ optionsarray ()) |
---|---|
Parametreler |
|
İadeler | HTML düğme etiketi. |
Açıklama | Bir <button>etiket. Type özniteliği varsayılan olaraktype="submit". Kullanarak farklı bir değerle değiştirebilirsiniz.$options['type']. |
Aşağıdaki işlevler kullanılır to generate checkbox HTML sayfasında.
Sözdizimi | Onay kutusu (string $ fieldName, array $ optionsarray ()) |
---|---|
Parametreler |
|
İadeler | Bir HTML metin giriş öğesi. |
Açıklama | Bir onay kutusu giriş widget'ı oluşturur. |
Aşağıdaki işlevler kullanılır to create form HTML sayfasında.
Sözdizimi | create (mixed $ modelnull , array $ optionsarray () ) |
---|---|
Parametreler |
|
İadeler | Biçimlendirilmiş bir açılış FORM etiketi. |
Açıklama | Bir HTML FORM öğesi döndürür. |
Aşağıdaki işlevler, provide file uploading functionality HTML sayfasında.
Sözdizimi | dosya (string $ fieldName, array $ optionsarray ()) |
---|---|
Parametreler |
|
İadeler | Oluşturulan bir dosya girişi. |
Açıklama | Dosya girişi widget'ı oluşturur. |
Aşağıdaki işlevler oluşturmak için kullanılır hidden element HTML sayfasında.
Sözdizimi | gizli (string $ fieldName , array $ optionsarray () ) |
---|---|
Parametreler |
|
İadeler | Oluşturulan bir gizli girdi |
Açıklama | Gizli bir giriş alanı oluşturur |
Aşağıdaki işlevler oluşturmak için kullanılır input element HTML sayfasında.
Sözdizimi | Girdi (string $ fieldName, array $ options array ()) |
---|---|
Parametreler |
|
İadeler | Tamamlanan form widget'ı |
Açıklama | Etiket ve sarmalayıcı div ile tamamlanan bir form giriş öğesi oluşturur |
Aşağıdaki işlevler oluşturmak için kullanılır radio button HTML sayfasında.
Sözdizimi | Radyo (string $ fieldName , array $ optionsarray () , array $ attributesarray () ) |
---|---|
Parametreler |
|
İadeler | Tamamlanmış radyo widget seti |
Açıklama | Bir dizi radyo widget'ı oluşturur. Varsayılan olarak bir gösterge ve alan kümesi oluşturur. Bunu kontrol etmek için $ seçeneklerini kullanın. |
Aşağıdaki işlevler oluşturmak için kullanılır submit HTML sayfasındaki düğmesine basın.
Sözdizimi | Gönder (string $ caption null, array $ options array ()) |
---|---|
Parametreler |
|
İadeler | Bir HTML gönderme düğmesi |
Açıklama | Gönder düğmesi öğesi oluşturur. Bu yöntem, $ options kullanarak formları göndermek ve sıfırlamak için kullanılabilecek <input /> öğeleri oluşturacaktır. Resim gönderimleri, $ caption için bir resim yolu sağlanarak oluşturulabilir. |
Aşağıdaki işlevler kullanılır to generate textarea element HTML sayfasında.
Sözdizimi | Metin alanı (string $ fieldName, array $ options array ()) |
---|---|
Parametreler |
|
İadeler | Oluşturulan bir HTML metin giriş öğesi |
Açıklama | Bir metin alanı widget'ı oluşturur |
Misal
Değişiklik yapın config/routes.php dosya aşağıdaki kodda gösterildiği gibi.
config/routes.php
<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true,
]));
$builder->applyMiddleware('csrf');
//$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
$builder->connect('register',['controller'=>'Registrations','action'=>'index']);
$builder->fallbacks();
});
Oluşturmak RegistrationsController.php dosya
src/Controller/RegistrationsController.php. Aşağıdaki kodu denetleyici dosyasında kopyalayın.
src/Controller/RegistrationsController.php
<?php
namespace App\Controller;
use App\Controller\AppController;
class RegistrationsController extends AppController{
public function index(){
$country = array('India','United State of America','United Kingdom');
$this->set('country',$country);
$gender = array('Male','Female');
$this->set('gender',$gender);
}
}
?>
Bir dizin oluşturun Registrations -de src/Template ve bu dizinin altında bir View dosya çağrıldı index.php. Aşağıdaki kodu o dosyaya kopyalayın.
src/Template/Registrations/index.php
<?php
echo $this->Form->create(NULL,array('url'=>'/register'));
echo '<label for="country">Country</label>';
echo $this->Form->select('country',$country);
echo '<label for="gender">Gender</label>';
echo $this->Form->radio('gender ',$gender);
echo '<label for="address">Address</label>';
echo $this->Form->textarea('address');
echo $this->Form->file('profilepic');
echo '<div>'.$this->Form->checkbox('terms').
'<label for="country">Terms ∓ Conditions</label></div>';
echo $this->Form->button('Submit');
echo $this->Form->end();
?>
Aşağıdaki URL'yi ziyaret ederek yukarıdaki örneği yürütün -
http: // localhost / cakephp4 / kayıt
Çıktı
Yürütme üzerine aşağıdaki çıktıyı alacaksınız.