วันอังคารที่ 21 พฤษภาคม พ.ศ. 2556

Laravel::HTML & Form ไม่ต้องพิมพ์แท็ก html ให้ยืดยาวอีกใช้ laravel สร้างให้เลย


Entities
เป็นการป้องกันการโจมตีแบบ cross site scripting โดยการตรวจและแปลงค่า ที่ผู้ใช้งานกรอกเข้ามา:
echo HTML::entities('<script>alert(\'hi\');</script>');
echo e('<script>alert(\'hi\');</script>');


Scripts And Style Sheets
นอกจากจะใช้ Asset แล้วก็ใช้คลาส HTML เรียกไฟล์ script,stylesheet มาได้เหมือนกัน:
echo HTML::script('js/scrollTo.js');
echo HTML::style('css/common.css');
echo HTML::style('css/common.css', 'print');
Links
สร้างลิ้งที่ชื่อว่า User Profile โดยส่งค่าไปยัง user/profile:
echo HTML::link('user/profile', 'User Profile');
ใช้ secure_link ในการสร้างลิ้งแบบ HTTPS:
echo HTML::secure_link('user/profile', 'User Profile');
ใส่แอททริบิวต์อื่นเข้าไปเสริมได้ในพารามิเตอร์ที่สามเลยครับ:
echo HTML::link('user/profile', 'User Profile', array('id' => 'profile_link'));


Links To Named Routes ( สร้างลิ้งที่จะทำให้ route ทำงาน )
ลิ้งนี้จะทำให้ route ที่ชื่อ profile ทำงาน
echo HTML::link_to_route('profile');
ส่งพารามิเตอร์เข้าไปด้วย:
$url = HTML::link_to_route('profile', 'User Profile', array($username));
Links To Controller Actions
สร้างลิ้งที่เชื่อมไปยัง method ใน controller เลย:
echo HTML::link_to_action('home@index');
Mail-To Links
สร้างลิ้งที่เป็น email
echo HTML::mailto('example@gmail.com', 'E-Mail Me!');
Images
ดึงภาพขึ้นมาแสดง:
echo HTML::image('img/smile.jpg', $alt_text);
เหมือนตัวอย่างข้างบนครับ เราสามารถใส่ id หรือ class ให้ตรงพารามิเตอร์ตัวที่สามได้:
echo HTML::image('img/smile.jpg', $alt_text, array('id' => 'smile'));

Lists
ตัวอย่างข้างล่างคือการสร้างลิสเมนูจากอาเรย์:
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 ก็จะเป็นการใช้ค่าในตัวอย่าง:
HTML::macro('my_element', function()
{
    return '<article type="awesome">';
});
ตัวอย่างการใช้งานครับ:
echo HTML::my_element();
BUILDING FORMS
สร้าง form โดยคำสั่ง open ครับ:
echo Form::open();
กำหนดค่าต่างๆให้เลย:
echo Form::open('user/profile', 'PUT');

สร้างฟอร์มในกรณีเว็บของเรา ใช้ https:
echo Form::open_secure('user/profile');
ใส่แอททริบิวต์ให้ฟอร์ม:
echo Form::open('user/profile', 'POST', array('class' => 'awesome'));
สร้างฟอร์มในกรณีจะอัพโหลดไฟล์:
echo Form::open_for_files('users/profile');
สร้างฟอร์มอัพโหลดไฟล์ในกรณีเว็บของเราเป็น HTTPS :
echo Form::open_secure_for_files('users/profile');
ปิดฟอร์ม:
echo Form::close();
CSRF Protection
Laravel วางแผนในการป้องกันการโจมตีแบ csrf โดยการสร้าง สุ่มค่าขึ้นมาจากการใช้  hash กับ salt ที่เรากำหนดขึ้นมา แล้วเก็บไว้ใน session แล้วสร้างเป็น hidden form ไว้  ตัวอย่างข้างล่างคือการสร้าง hidden form นะครับ
echo Form::token();
ต่อมาไปเซตค่าที่ route ต่ออีกแบบในตัวอย่างเลยครับ:
Route::post('profile', array('before' => 'csrf', function()
{
    //
}));


เวลาจะตรวจสอบใน controller ก็สามารถเราก็ต้องไปดึงค่าจากใน session มาก่อนครับ:
$token = Session::token();
Labels
สร้างคำอธิบายให้ฟอร์ต่างๆ
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:
echo Form::text('username');
กำหนดค่าเริ่มต้นให้ฟอร์มได้:
echo Form::text('email', 'example@gmail.com');
สร้างช่องรับ password:
echo Form::password('password');
Checkboxes and Radio Buttons
สร้าง checkbook :
echo Form::checkbox('name', 'value');
สร้าง checkbox ที่เช็คอยู่แล้ว:
echo Form::checkbox('name', 'value', true);
File Input
สร้างฟอร์มอัพโหลดไฟล์
echo Form::file('image');
Drop-Down Lists
สร้าง drop down list:
echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));
Buttons
สร้างปุ่ม:
echo Form::submit('Click Me!');
บทนี้ง่ายๆนะครับ บทหน้าเราจะไปต่อเรื่อง pagination กัน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น