|
Laravel::HTML & Form การสร้าง HTML บน Laravel |
Laravel::HTML & Form ไม่ต้องพิมพ์แท็ก html ให้ยืดยาวอีกใช้ laravel สร้างให้เลย
Entities เป็นการป้องกันการโจมตีแบบ cross site scripting โดยการตรวจและแปลงค่า ที่ผู้ใช้งานกรอกเข้ามา:
Code (PHP)
echo HTML::entities('<script>alert(\'hi\');</script>');
echo e('<script>alert(\'hi\');</script>');
Scripts And Style Sheets นอกจากจะใช้ Asset แล้วก็ใช้คลาส HTML เรียกไฟล์ script,stylesheet มาได้เหมือนกัน:
Code (PHP)
echo HTML::script('js/scrollTo.js');
echo HTML::style('css/common.css');
echo HTML::style('css/common.css', 'print');
Links สร้างลิ้งที่ชื่อว่า User Profile โดยส่งค่าไปยัง user/profile:
Code (PHP)
echo HTML::link('user/profile', 'User Profile');
ใช้ secure_link ในการสร้างลิ้งแบบ HTTPS:
Code (PHP)
echo HTML::secure_link('user/profile', 'User Profile');
ใส่แอททริบิวต์อื่นเข้าไปเสริมได้ในพารามิเตอร์ที่สามเลยครับ:
Code (PHP)
echo HTML::link('user/profile', 'User Profile', array('id' => 'profile_link'));
Links To Named Routes ( สร้างลิ้งที่จะทำให้ route ทำงาน ) ลิ้งนี้จะทำให้ route ที่ชื่อ profile ทำงาน
Code (PHP)
echo HTML::link_to_route('profile');
ส่งพารามิเตอร์เข้าไปด้วย:
Code (PHP)
$url = HTML::link_to_route('profile', 'User Profile', array($username));
Links To Controller Actions สร้างลิ้งที่เชื่อมไปยัง method ใน controller เลย:
Code (PHP)
echo HTML::link_to_action('home@index');
Mail-To Links สร้างลิ้งที่เป็น email
Code (PHP)
echo HTML::mailto('[email protected]', 'E-Mail Me!');
ดึงภาพขึ้นมาแสดง:
Code (PHP)
echo HTML::image('img/smile.jpg', $alt_text);
เหมือนตัวอย่างข้างบนครับ เราสามารถใส่ id หรือ class ให้ตรงพารามิเตอร์ตัวที่สามได้:
Code (PHP)
echo HTML::image('img/smile.jpg', $alt_text, array('id' => 'smile'));
Lists ตัวอย่างข้างล่างคือการสร้างลิสเมนูจากอาเรย์:
Code (PHP)
echo HTML::ol(array('Get Peanut Butter', 'Get Chocolate', 'Feast'));
echo HTML::ul(array('Ubuntu', 'Snow Leopard', 'Windows'));
echo HTML::dl(array('Ubuntu' => 'An operating system by Canonical', 'Windows' => 'An operating system by Microsoft'));
Custom Macros เราสามารถสร้างฟังก์ชันของ html อธิบายด้วยตัวอย่างคือถ้าเราใช้ my_element ก็จะเป็นการใช้ค่าในตัวอย่าง:
Code (PHP)
HTML::macro('my_element', function()
{
return '<article type="awesome">';
});
ตัวอย่างการใช้งานครับ:
Code (PHP)
echo HTML::my_element();
สร้าง form โดยคำสั่ง open ครับ:
Code (PHP)
echo Form::open();
กำหนดค่าต่างๆให้เลย:
Code (PHP)
echo Form::open('user/profile', 'PUT');
สร้างฟอร์มในกรณีเว็บของเรา ใช้ https:
Code (PHP)
echo Form::open_secure('user/profile');
ใส่แอททริบิวต์ให้ฟอร์ม:
Code (PHP)
echo Form::open('user/profile', 'POST', array('class' => 'awesome'));
สร้างฟอร์มในกรณีจะอัพโหลดไฟล์:
Code (PHP)
echo Form::open_for_files('users/profile');
สร้างฟอร์มอัพโหลดไฟล์ในกรณีเว็บของเราเป็น HTTPS :
Code (PHP)
echo Form::open_secure_for_files('users/profile');
ปิดฟอร์ม:
Code (PHP)
echo Form::close();
CSRF Protection Laravel วางแผนในการป้องกันการโจมตีแบ csrf โดยการสร้าง สุ่มค่าขึ้นมาจากการใช้ hash กับ salt ที่เรากำหนดขึ้นมา แล้วเก็บไว้ใน session แล้วสร้างเป็น hidden form ไว้ ตัวอย่างข้างล่างคือการสร้าง hidden form นะครับ
Code (PHP)
echo Form::token();
ต่อมาไปเซตค่าที่ route ต่ออีกแบบในตัวอย่างเลยครับ:
Code (PHP)
Route::post('profile', array('before' => 'csrf', function()
{
//
}));
เวลาจะตรวจสอบใน controller ก็สามารถเราก็ต้องไปดึงค่าจากใน session มาก่อนครับ:
Code (PHP)
$token = Session::token();
Labels สร้างคำอธิบายให้ฟอร์ต่างๆ
Code (PHP)
echo Form::label('email', 'E-Mail Address');
echo Form::label('email', 'E-Mail Address', array('class' => 'awesome'));
Note: ถ้าต่อมาเราสร้างฟอร์มที่มีชื่อเหมือน label ข้างบนแอททริบิวต์อย่าง class กับ id ก็จะถูกดึงมาด้วย
Text, Text Area, Password & Hidden Fields
สร้างฟอร์มรับค่าชื่อ username:
Code (PHP)
echo Form::text('username');
กำหนดค่าเริ่มต้นให้ฟอร์มได้:
Code (PHP)
echo Form::text('email', '[email protected]');
สร้างช่องรับ password:
Code (PHP)
echo Form::password('password');
สร้าง checkbook :
Code (PHP)
echo Form::checkbox('name', 'value');
สร้าง checkbox ที่เช็คอยู่แล้ว:
Code (PHP)
echo Form::checkbox('name', 'value', true);
File Input สร้างฟอร์มอัพโหลดไฟล์
Code (PHP)
echo Form::file('image');
สร้าง drop down list:
Code (PHP)
echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));
Buttons สร้างปุ่ม:
Code (PHP)
echo Form::submit('Click Me!');
บทนี้ง่ายๆนะครับ บทหน้าเราจะไปต่อเรื่อง pagination กัน
|
|
|
|
|
|