CakePHP フォーム

WBOY
リリース: 2024-08-29 12:58:52
オリジナル
1184 人が閲覧しました

CakePHP は、動的プログラミングを処理するために使用されるオープンソース ツールです。 HTML フォームを処理するために開発者にさまざまなタイプの組み込みタグを提供します。 form は、HTML フォームを確実に扱うために CakePHP が提供するタグの 1 つであり、他の PHP フレームワークと同様に簡単かつ安全に扱うことができます。利点の 1 つは、CakePHP を使用して HTML のさまざまな要素を生成できることです。 CakePHP では、組み込みのタグとメソッドを使用して、必要なすべての検証、さまざまなレイアウトを備えた要件に従ってフォームを簡単に作成できます。

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

CakePHP フォームとは何ですか?

この構造には、CakePHP でさまざまなアクティビティを実行するための構造の強力なライブラリ レコードが含まれています。フォームは、このように構造を効果的に作成することに重点を置いており、承認、再入力、構成を効率化できます。フォームには、フォーマット オーガナイザーで構造を作成するために使用する構造のさまざまなラベルがあります。さらに、フォームは柔軟であり、特定の結果を実行するために適切な句読点と戦略を利用することで、表示する必要がある構造のほぼすべてを実行できることを意味します。構造を作るために巨大なコードを組み立てる必要があるため、HTML コードよりも 1 行のコードで十分ですが、Form では構造の単純な文法を組み立てる必要があります。

CakePHP フォームを作成するには?

次に、次の例を使用して CakePHP でフォームを作成する方法を見てみましょう。 まず、フォームを作成する必要があります。通常、フォーム クラスを使用する場合は、サブクラスも定義する必要があることがわかっています。

例:

namespace App\Form;
use Cake\Form\Form;
use Cake\Form\Schema;
use Cake\Validation\Validator;
class sampleForm extends Form
{
protected function buildSchema(Schema $schema): Schema
{
return $schema->addField('Emp Name', 'string')
->addField('Emp Email', ['type' => 'string'])
->addField('Emp Address', ['type' => 'text']);
}
public function validationDefault(Validator $valid): Validator
{
$valid->minLength('Emp Name', 20)
->Emp Email('email');
return $valid;
}
protected function _run(array $data): bool
{
// Send an email.
return true;
}
}
ログイン後にコピー

説明

上記の例では、示されているように、buildSchema、defaultvalidation、run として 3 つの異なるメソッドを使用しています。

その後、コントローラー内でリクエストデータを処理するコードを次のように記述する必要があります。

namespace App\Controller;
use App\Controller\AppController;
use App\Form\ sampleForm;
class SampleController extends AppController
{
public function index()
{
$sample= new sampleForm ();
if ($this->request->is('post')) {
if ($sample->execute($this->request->getData())) {
$this->Flash->success( ‘Welcome Done’);
} else {
$this->Flash->error('There is Problem');
}
}
$this->set('sample', $sample);
}
}
ログイン後にコピー

その後、フォームの値を設定する必要があり、最後に、要件に従ってフォームを含む HTML を作成する必要があります。

次に、理解を深めるために次の例を見てみましょう。

まず、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'=>'ContactForm','action'=>'index']);
$builder->fallbacks();
});
ログイン後にコピー

次に、上記のコードと同様のコントローラー ファイルを作成する必要があるため、コントローラー ファイルを作成して次のコードを記述します。

<?php
namespace App\Controller;
use App\Controller\AppController;
class ContactFormController extends AppController{
public function index(){
$country = array('India',England',Canada');
$this->set('country',$country);
$gender = array('Male','Female');
$this->set('gender',$gender);
}
}
?>
ログイン後にコピー

説明

上記のコードでは、国や性別などの連絡先情報のコードを記述しています。 次に、インデックス ファイルを作成し、次のコードを記述します。

<?php
echo $this->Form->create(NULL,array('url'=>'/sampleForm'));
echo '<label for="name">Name</label>';
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->text ('address');
echo $this->Form->button('Submit');
echo $this->Form->end();
?>
ログイン後にコピー

上記のコードを実行すると、次のスクリーンショットに示すような画面が表示されます。

CakePHP フォーム

次のスクリーンショットに示すように、インドのような国を選択したとします。

CakePHP フォーム

次のスクリーンショットに示すように、名前と住所などの詳細を次のように入力します。

CakePHP フォーム

送信ボタンをクリックすると、ウェルカムメッセージが表示されます。

CakePHP フォーム関数

次に、次のように CakePHP のフォーム関数を見てみましょう。

オプションの選択

配列要素を返すために使用されます。

構文

selectOptions( array $specifiedarrayelement(), array $parentsarrayelement(),
boolean $showParentsnull, array $attributesarray() )
ログイン後にコピー

説明

上記の構文では、要素の形式、親要素グループ、さまざまな HTML 属性などのさまざまなパラメータを指定して selectOption 関数を使用しています。基本的には配列を返します。

を選択してください

書式設定された要素を選択するために使用されます。

構文

select( string $Specified Name field, array $required options of array(), array $specified attributes array() )
ログイン後にコピー

説明

上記の構文では、さまざまなパラメーターを使用して関数を選択し、指定された name フィールドを使用して name 属性を選択し、配列も要素の選択に使用して、選択された要素を返します。

ボタン

タイプ付きのボタンを作成するために使用されます。

構文

Button(string $specified name, array $optionsarray() )
ログイン後にコピー

説明

ボタンの刻印。自然に HTML エンコードされていません。選択肢と HTML のクラスターが帰属し、ボタン タグが返されます。

チェックボックス

この関数を使用して、要件に従ってフォーム内にチェックボックスを作成します。

構文

Checkbox(string $Specifed name field, array $optionsarray() )
ログイン後にコピー

説明

In the above syntax, we use a checkbox function with different parameters such as name and array attributes. It returns the text input element.

Create

It is used to return the returned form element.

Syntax

create( mixed $nullmodel value , array $array() )
ログイン後にコピー

Explanation

Here we need to specify the name of the model and the array of specified HTML attributes.

File

By using this function, we can create the file and return the generated file.

Hidden

It is used to create the hidden file and returns the generated hidden input.

Input

It is used to create input elements and return the form widget.

Radio

It is used to create a set of radio buttons and returns the radio widget.

Submit

It is used to create a submit button element and it returns the HTML submit.

Values

Here we can set the default value for form by using setData() method as per our requirement as shown in the following code.

namespace App\Controller;
use App\Controller\AppController;
use App\Form\ContactForm;
class SampleController extends AppController
public function index()
{
$sample = new SampleForm();
if ($this->request->is('post')) {
if ($contact->execute($this->request->getData())) {
$this->Flash->success(' Welcome Done ');
} else {
$this->Flash->error('There is Problem');
}
}
if ($this->request->is('get')) {
$contact->setData([
'Emp of name' => 'sam',
Emp'email' => [email protected]'
]);
}
$this->set('sample', $sample);
}
}
ログイン後にコピー

Conclusion

We hope from this article you learn more about the CakePHP form. From the above article, we have taken in the essential idea of the CakePHP form and we also see the representation and example of the CakePHP form. From this article, we learned how and when we use the CakePHP form.

以上がCakePHP フォームの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート